VBA代码读取word文档页脚

时间:2015-10-20 09:06:54

标签: excel vba excel-vba ms-word

我有一个已完成word文档表单的文件夹,我有一个excel文件,可以将表单上的所有答案读入电子表格中的不同工作表。导出数据的工作表取决于word文档的文件名。

这目前工作正常。

但是,我现在需要它能够考虑存储在word文档页脚中的表单的版本号,但我不知道如何引用它。

对于VBA来说,我是一个非常棒的人,所以没有尝试过。

我尝试过的VBA可以在下面找到,但不出所料。

Sub ReadWordDoc(filenme As String)

Dim Val As String
Dim WrdDoc As Document
Dim FormFieldCounter As Integer

Dim version As String

Set wordapp = CreateObject("word.Application")
wordapp.Documents.Open filenme
wordapp.ScreenUpdating = False

Set WrdDoc = wordapp.Documents(filenme)
wordapp.Visible = True

version = WrdDoc.Sections(1).Footers(wdHeaderFooterFirstPage).Range.Text

FormFieldCounter = 1

If InStr(version, "5.00") Then

    RowCounter = RowCounter + 1

    Sheets("Version 5").Cells(RowCounter, FormFieldCounter) = filenme

    Do While FormFieldCounter <= 125
    WrdDoc.FormFields(FormFieldCounter).Select
    Val = WrdDoc.FormFields(FormFieldCounter).result
    Sheets("Version 5").Cells(RowCounter, FormFieldCounter + 1) = Val

    FormFieldCounter = FormFieldCounter + 1

    Loop

    wordapp.Documents(filenme).Close SaveChanges:=wdDoNotSaveChanges
    wordapp.Quit

Else

    'Do something else

End If


End Sub

1 个答案:

答案 0 :(得分:0)

在玩了一些游戏和Google之后,我发现这个页面帮我修复了我的问题 https://msdn.microsoft.com/en-us/library/office/aa221970(v=office.11).aspx

我改变了我的代码如下:

version = WrdDoc.Sections(1).Footers(wdHeaderFooterPrimary).Range.Text

虽然我不确定为什么之前的版本没有用,因为第一页上有一个页脚。