Visual Basic 2010 - 未声明“函数”

时间:2017-01-12 13:09:50

标签: vba visual-studio-2010

我几天前开始写一个宏。它基本上只包含一个UI,您可以选择一些选项,并根据它为您提供几页word文档。它将从项目的bin / release文件夹中的.exe开始。

我想为每个页面添加页脚和页眉,但我无法这样做。

每当我想使用类似于:“wdHeaderFooterPrimary”的功能时,如:

objWord = CreateObject("Word.Application")
objDoc = objWord.Documents.Add
objWord.Visible = True
objWord.Selection.TypeText("")

With objWord.Selection
    .Paragraphs.Alignment = 2
    .Font.size = 9
    .Font.Name = "Arial"
End With

With objWord.Sections(1)
    .Headers(wdHeaderFooterPrimary).Range.Text = "Header text"
    .Footers(wdHeaderFooterPrimary).Range.Text = "Footer text"
End With

它给了我一个错误,强调了“wdHeader ....”。到目前为止,每当我需要以“wd ...”开头的功能时,我总能找到解决方法。 但现在我似乎已经碰壁了。 (我得到了一些代码:https://msdn.microsoft.com/en-us/library/office/aa221968(v=office.11).aspx

有人可以向我解释如何正确使用它吗?我必须更改设置吗? 我正在使用Visual Basic 2010 Express编写VBA代码。

编辑: 确切的错误是: 未声明“wdheaderFooterPrimary”。 (第二部分的翻译如下:)也许根据其安全级别(?)

无法访问该对象

2 个答案:

答案 0 :(得分:0)

我最终创建了wordtemplate.dot文件,在其中包含了所需的页眉/页脚,并在创建新文件时将其加载到应用程序中。

答案 1 :(得分:-1)

作为确定的解决方案,我通过研究发现了这一点,并试图精确地工作,我给出了代码;

.ActiveDocument.Sections.Item(1).Footers.Item(1).Range.text =“写您自己的文本”