C# Microsoft.Office.Interop.Word操作Word的大坑

环境:.Net Core,COM的Interop.Word

需求:在Word模板中间插入连续多个独立表格

方法一:通过将光标向下移动表格行数,跳过表格,然后继续输入内容,生成新的表格

跳出代码:

//通过向下跳表格行数的方式跳出表格
 ncount = maxRow;    //需跳过的表格的行数,maxRow是我自己计数的,直接通过表格对象获取行数属性得到的值也一样
 WdLine = Word.WdUnits.wdLine;//换一行;
 wordApp.Selection.MoveDown(ref WdLine, ref ncount, ref Nothing);//移动焦点
                      

坑:

当表格某个单元格内容较多出现换行时,行数就不等于表格的行数量了,而且这个数没办法获取到。然后光标就会跑到刚生成的表格里面,导致表格重叠嵌套,全乱。

方法二:

没有方法二,没有办法实现,浪费了我两三天时间。CVI/LabView还有个WordRpt_GoToLineAfterTable可以用,这个完全没有,只有一个wordApp.Selection.EndKey(ref unite, ref Nothing); 将光标移动到文档末尾。

我最后就用了这个跳转到文档最后,然后原本想保留的模板内容都不保留,直接在代码里生成。这个方法的麻烦之处就是后面的内容也全部需要靠代码插入,没办法使用模板。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值