VBA错误4605此方法或属性不可用,因为文档处于模态状态

时间:2017-11-16 22:31:10

标签: vba macos ms-word word-vba word-vba-mac

环境:Word 2016 for Mac。

以下代码(适用于Word 2007和2010适用于PC和Word 2011 for Mac)在粘贴时抛出运行时错误4605:

Set oSubRange = wdDoc.Sections(i).Range ' we are in a loop...            
oSubRange.End = oSubRange.End - 1 
oSubRange.Copy
Set wdSubDoc = Documents.Add
wdSubDoc.Activate
Set oRange = wdSubDoc.Content
oRange.Collapse (wdCollapseEnd)
oRange.PasteAndFormat (wdFormatOriginalFormatting)

我的想法是,这可能是一个沙盒问题,但我不这么认为,因为我在保存文件方面没有任何问题,而且无论如何这都不是保存的。其他想法是剪贴板没有复制,也许有一个时间问题。我尝试在副本之后插入DoEvents(),因为我已经在不同的错误4605场景中看到了这一点(尽管有不同的错误)。还尝试使用Active MVC将在另一个论坛中由MS MVP建议的ActiveDocument.Range.PasteAndFormant(wdFormatOriginalFormatting)(同样,错误4605)。这些解决方案都不起作用。

所以,我被卡住了。

0 个答案:

没有答案