【发布时间】:2023-04-06 12:59:01
【问题描述】:
我正在尝试使用 vba 从 excel 打开两个文档,并从这个特定的 excel 文件中调用一个 word 宏。
宏在 Word 中运行良好,我还可以打开文档并启动 word 宏。但是,当从一个文档切换到另一个文档时,单词宏会进入中断模式(当我从 Word 而不是 Excel 运行它时不会发生这种情况)。
我使用 excel 中的以下代码:
Set wordApp = CreateObject("Word.Application")
worddoc = "H:\Word Dummy's\Dummy.docm"
wordApp.Documents.Open worddoc
wordApp.Visible = True
wordApp.Run macroname:="update_dummy", varg1:=client, varg2:=m_ultimo, varg3:=y
在 word 中,我有一个 sub,其中包含在断点和以下代码之间定义的参数:
worddoc2 = "H:\Word Dummy's\texts.docx"
Word.Application.Activate
Documents.Open worddoc2, ReadOnly:=True
ThisDocument.Activate
Set bmks = ThisDocument.Bookmarks
谁能告诉我为什么它不能从 excel 运行以及我该如何解决这个问题?
提前致谢。
【问题讨论】:
-
中断发生在哪里?从excel打开后用excel还是word?
-
在 word 中打开 worddoc2 并转到 thisdocument.activate 后
-
请展示您的完整代码,以便更轻松地帮助您...
-
从您的代码看来,您不需要
ThisDocument.Activate。如果您注释掉该行会发生什么? -
还是同样的错误。我还尝试添加 EnableEvents=true 和 documents(worddoc).activate 而不是 thisdocument.activate 但我不断收到错误消息:无法在中断模式下执行。认为这是因为 excelmacro 在启动 wordmacro 时进入了中断模式,但我不知道如何解决这个问题。