首先,很抱歉发布此帖子,我知道它可能与this帖子重复,我尝试将其发布为编辑内容,但遭到拒绝,因为我的声誉不高,所以我无法发表评论,这也不是正确的答案。希望这有助于更好地理解问题并引起更多关注。
我在一家使用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完成后,在dll和VBA中都有一个消息框。该dll可以正常运行,但是一旦回到VBA,该代码就会停止并且不显示消息框。
我已经进行了一些研究,并且与已知的shift-key bug没有任何关系,因为我可以通过按播放按钮来运行示例代码,因此在打开文档时不会按任何键。
然后,我尝试使用this other post中所示的AutoOpen事件,并且通过调试,我意识到在有问题的计算机中从未调用过PseudoAutoOpen
事件。
还要确保所有内容都位于受信任文档的位置,并且已启用宏,如另一篇文章所述: Word 2013 VBA - opening document aborts macro
更新
我在调试时偶然发现,如果我两次运行示例宏,第二次(打开目标文档)将按预期运行。
我开始对此失去理智。
答案 0 :(得分:1)
问题似乎与1807 Build 10325.20082更新有关。
还原到较早的版本(9330.2087)为我解决了该问题:
答案 1 :(得分:0)
我从微软论坛上的MVP那里得到了报告,他们在服务器端更改了Word启动过程中Word下载的配置文件。所做的更改使得禁用了导致(我的documents.add)问题的(新)有问题的代码。
我刚刚与有问题的客户端进行了测试,我们是否将Office版本降级为以前的版本,现在我可以说的问题似乎已经解决。
可能是如果您再次更新Office版本,它也可以使用。如果问题仍然是第一次出现,则可能需要关闭单词稍等片刻然后重新开始。
也许它现在也已解决了document.open更改(服务器端)的问题。