将Word.Document传递给子例程

问题描述

我已经有一个包含很多代码的Excel文档,该文档执行的操作与我在此模块中使用的任何代码无关。我遇到的问题是将Word.Document类型的对象传递给子例程,该子例程最终会做一些工作来更改该Word文档。首先,我有代码。

Option Explicit
Public oWordApplication As Word.Application
Public oWordDocument As Word.Document

Sub GenerateWordProposal()
    Set oWordApplication = New Word.Application
    Set oWordDocument = oWordApplication.Documents.Add
    oWordApplication.Visible = True
    oWordDocument.Activate
    PCL_PageLayout (oWordDocument)
    PCL_HeaderFooter (oWordDocument)
End Sub

Sub PCL_PageLayout (theDoc as Word.Document)
    'Nothing here yet.
    Debug.Print "PageLayout code"
End Sub

Sub PCL_HeaderFooter (theDoc as Word.Document)
    'Nothing here yet.
    Debug.Print "HeaderFooter code"
End Sub

因此,当我执行此代码时,我得到的错误是Compile Error: Type mismatch。我什至没有以任何方式操纵它。我打算在这里做很多事情,因为传递给该子例程的每个文档都需要从一开始就看起来一样。还有其他子例程会根据Excel工作表中的信息来修改各个文档,但是尚未对它们进行编码。

我在这里和Google上进行了搜索,但似乎找不到任何具体指向Word.Document对象传递给子例程/函数的内容。尝试byRefbyVal,它们都返回相同的错误。尝试将sub的参数更改为类型Variant,并抛出Runtime Error 424,Object Required。我已经启用了引用中的Microsoft Word 16.0 Object Library,它位于优先级列表的底部,除了默认值外,仅添加了一个。

问题是,我在做什么错? Word.DocumentWord.Application不能作为参数传递吗?最终,我将需要在多个不同的文档上从这些子例程中的每个例程执行代码,因此仅对所需的单个值进行编码实际上不是一个可行的选择。

解决方法

braX回答:删除括号

    PCL_PageLayout oWordDocument

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...