使用excel宏中的Word Selection对象

时间:2017-11-23 22:58:24

标签: vba excel-vba word-vba excel

我正在Excel中编写一个用于打开和操作Word文档的宏。当我通过word中的vba编辑器运行代码时,代码工作,但是当我将代码行导入到我的excel宏中时,我得到运行时438错误。

Word宏

Selection.Collapse WdCollapseDirection.wdCollapseEnd

代码插入Excel宏,wtemp是word文档对象

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

我认为问题在于选择对象,或者我错过了引用。我在VBAProject中包含的引用是:

  • Visual Basic for Application
  • Microsoft Excel 16.0对象库
  • OLE自动化
  • Microsoft Office 16.0 Office Library
  • Microsoft Word 16.0 Office Library
  • Microsoft Forms 2.0对象库
  • Microsoft Scripting Runtime

1 个答案:

答案 0 :(得分:5)

文档对象没有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