使用C# Word Interop如何将图表插入到表格外部?
解决C# Word Interop图表插入到表格内部的问题
问题出在表格创建后,原Range的定位没有正确跳转到表格外部。可以通过直接基于表格自身的Range来定位到表格之后的位置,具体修改如下:
修改后的关键代码
// 填充表格代码保持不变... // 获取表格的范围,定位到表格末尾之后 MSWord.Range tableEndRange = theTable.Range; tableEndRange.Collapse(MSWord.WdCollapseDirection.wdCollapseEnd); tableEndRange.InsertParagraphAfter(); tableEndRange.Collapse(MSWord.WdCollapseDirection.wdCollapseEnd); // 在表格外部的新位置插入图表 m_Chart = AddChart(tableEndRange);
原因说明
- 原代码中使用的
rng0在创建表格时被作为表格的插入起点,后续的Collapse操作仍可能局限在表格内部的范围中,导致图表被插入到表格里。 - 直接使用表格的
Range进行Collapse(wdCollapseEnd),能精准定位到表格的结束位置,插入新段落并再次collapse后,这个Range就处于表格外部的独立段落中,此时插入图表就会在表格下方的正确位置。
内容的提问来源于stack exchange,提问作者Florence
相关产品推荐
相关产品推荐

