首页 文章

使用excel宏中的Word Selection对象

提问于
浏览
1

我在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 回答

  • 4

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

    如果您有对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
    

相关问题