|
各位老师:
我想获取word文档的总页码数,试编了以下代码:
With CreateObject("Scripting.FileSystemObject") '引用FSO对象
'打开word文档,并定义目标word文档名称
'关键是要引用 Microsoft Word * Object Library,否则执行下句出错"要求对象"
Set pwrdname = wdapp.Documents.Open(ppath & "\" & filearr(i))
wdapp.Visible = True
'删除原有的页脚页码
Set myrange = pwrdname.Sections(1).Footers(wdHeaderFooterPrimary).Range
myrange.Delete
' '添加新的页脚页码
With wdapp
pwrdname.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
With .Selection
.TypeText Text:="第"
.Fields.Add Range:=.Range, Type:=wdFieldPage
.TypeText Text:="页"
.ParagraphFormat.Alignment = wdAlignParagraphCenter
End With
.Application.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End With
'从第2个文档起修正起始页始,当前文档起始页码为前1个文档最大页码+1'
pwrdname.Footnotes.StartingNumber = ymzs + 1
'当前文档总页码
actwdym = myrange.Information(wdNumberOfPagesInDocument)
'累加多文档总页码
ymzs = ymzs + actwdym
'关闭word文档
pwrdname.Close True
wdapp.Quit
End With
当代码自动执行时,actwdym =6(结果错误),而逐步执行时,actwdym =7(正确结果为7)
请老师帮看一下,错误原因是什么,如何避免,谢谢老师
|
|