2015-10-20 180 views
0

我有一个完整的word文档表单文件夹,我有一个excel文件,将表单上的所有答案读入电子表格中的不同工作表。数据导出到的工作表取决于单词文档的文件名。VBA代码读取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 
+0

什么不行?你的版本变量是空的吗? – DanL

+0

是的,我的版本变量是空的,但第一页有一个页脚。 –

回答

0

有一点的发挥和谷歌之后,我发现这个网页,其中帮我解决我的问题 https://msdn.microsoft.com/en-us/library/office/aa221970(v=office.11).aspx

我改变我下面的代码:

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

虽然我不知道为什么以前的版本没有工作,因为第一页上有一个页脚。

+1

第一个版本不起作用,因为wdHeaderFooterFirstPage是为Word中“特殊第一页”页眉/页脚设置保留的。 – DanL