我在Excel中编写了一个宏,该宏可以打开和处理Word文档。通过word通过vba编辑器运行代码时,该代码有效,但将代码行导入excel宏时,出现运行时438错误。

字宏

Selection.Collapse WdCollapseDirection.wdCollapseEnd


将代码插入到Excel宏中,其中wtemp是word文档对象

wtemp.Activate
wtemp.Tables(3).Select
wtemp.Activate
wtemp.Selection.Collapse WdCollapseDirection.wdCollapseEnd


我认为问题出在选择对象上,或者我缺少参考。我在VBAProject中包含的引用是:


Visual Basic应用程序
Microsoft Excel 16.0对象库
OLE自动化
Microsoft Office 16.0 Office库
Microsoft Word 16.0 Office库
Microsoft Forms 2.0对象库
Microsoft脚本运行时

最佳答案

文档对象没有Selection属性,但是Word应用程序具有。

如果您有对Word应用程序的引用,则可以使用如下代码:

Dim wd As Word.Application
Set wd = GetObject(, "Word.Application")

Dim wtemp As Word.Document
Set wtemp = wd.ActiveDocument

wtemp.Activate
wtemp.Tables(3).Select
wtemp.Activate
wd.Selection.Collapse WdCollapseDirection.wdCollapseEnd

07-26 08:54