首先很抱歉发这篇文章,我知道这可能是从this帖子复制过来的,我试图将其作为编辑发布,但被拒绝了,而且我没有50个声望,不能发表评论,此外,这不是一个恰当的答案。希望这能帮助更好地理解问题并引起更多关注。
我在一家使用VBA的公司工作,我们一直在使用
每当我执行
我甚至尝试了旧的打开
我进行了一些研究,与已知的shift键错误无关,因为我可以通过按播放按钮运行示例代码,因此在打开文档时没有按下任何键。
然后我尝试使用AutoOpen事件,如此其他帖子所示,并通过调试发现在存在问题的计算机上从未调用
我已经确保所有内容都在受信任的文档位置,并启用了宏,就像这篇帖子所说的那样:Word 2013 VBA - opening document aborts macro 更新 我在调试时意外发现,如果我运行示例宏两次,第二次(目标文档已打开)它会按预期工作。
我开始为此感到苦恼。
我在一家使用VBA的公司工作,我们一直在使用
Documents.Open
,它从未给我带来任何问题,直到现在。问题似乎相当随机,因为没有多少客户有这个问题,但现在主要是在Office 365中变得更加一致。也许是由于更新导致的?每当我执行
Documents.Open
时,请求的文档将打开,但之后的任何内容都不会执行。这可能很简单:Sub Test()
Documents.Open(filename)
MsgBox "Hi"
End Sub
而且消息框将永远不会显示。我也尝试过这个方法,因为我在其他论坛上找到了相关的信息:
Sub Test()
Dim doc as Document
set doc = Documents.Open(filename)
MsgBox "Hi"
End Sub
我甚至尝试了旧的打开
WordBasic.FileOpen()
。没有帮助,代码在打开文档后停止执行。为了让这个工作,我创建了一个COM dll来打开一个文档,在dll中和VBA中都有一个消息框。该dll正常运行,但一旦回到VBA,代码就停止了,它不会显示消息框。我进行了一些研究,与已知的shift键错误无关,因为我可以通过按播放按钮运行示例代码,因此在打开文档时没有按下任何键。
然后我尝试使用AutoOpen事件,如此其他帖子所示,并通过调试发现在存在问题的计算机上从未调用
PseudoAutoOpen
事件。我已经确保所有内容都在受信任的文档位置,并启用了宏,就像这篇帖子所说的那样:Word 2013 VBA - opening document aborts macro 更新 我在调试时意外发现,如果我运行示例宏两次,第二次(目标文档已打开)它会按预期工作。
我开始为此感到苦恼。