我的代码在运行过程中,有时会出现这样的问题:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2019.9.1.1
错误所在事件:窗口,窗口1,Button04,Click
详细错误信息:
被呼叫方拒绝接收呼叫。 (异常来自 HRESULT:0x80010001 (RPC_E_CALL_REJECTED))
程序代码如下:
If str.Contains(",") = False And str.Contains("*") = True Then
s1 = str.split("*")
dyg = "C" & CStr(row1+1) &":" & Tables("大纲级别").rows(s1(1)+1)(6) & CStr(row1+s1(0)) '合成地址
_app1.worksheets(bm).range(dyg).copy '复制
_app.Selection.Collapse (Direction:=msword.WdCollapseDirection.wdCollapseStart)
_app.selection.paste '粘贴
ClipBoard.Clear '清空剪贴板
end if
上述代码的意思是从EXCEL中复制表格,粘贴到WORD中,这是一个For To next 中的一节,全部执行完会粘贴100多个表格,200多小段文字。
有时运行到_app.selection.paste '粘贴 之前会出现上述错误提示。
我到EXCEL文档中看到,目标单元格已被复制了(屏幕显示),但是无法粘贴到WORD中的当前插入点。
而当前插入点在上一个For To next 循环中,是这样处理的:
_app.Selection.Typeparagraph ‘插入新段落
_app.Selection.ParagraphFormat.OutlineLevel = 10 ’大纲级别为正文
关键是上面的代码大部分时候运行正常,程序会不停地在WORD的新段落中写入文字和表格。但只要一出错,就是上面的提示,而且在EXCEL中看那个表已经被复制了,只是无法粘贴到WORD中,整个循环中断。
需要说的是:错误只会出现在粘贴表格时。
大家有这方面的经验吗?希望能指点下?
谢谢!