有没有办法使用Python win32com将页码添加到Word文档的右下角?我可以添加页眉和页脚,但我找不到以PagePumber TotalPages格式添加页码的方法(例如:1/5)
以下是向页面添加居中页眉和页脚的代码
from win32com.client import Dispatch as MakeDoc
filename = name + '.doc'
WordDoc = MakeDoc("Word.Application")
WordDoc = WordDoc.Documents.Add()
WordDoc.Sections(1).Headers(1).Range.Text = name
WordDoc.Sections(1).Headers(1).Range.ParagraphFormat.Alignment = 1
WordDoc.Sections(1).Footers(1).Range.Text = filename
WordDoc.Sections(1).Footers(1).Range.ParagraphFormat.Alignment = 1
由于
答案 0 :(得分:2)
要插入页码,请使用以下语句:
WordDoc.Sections(1).Footers(1).PageNumbers.Add(2,True)
WordDoc.Sections(1).Footers(1).PageNumbers.NumberStyle = 57
答案 1 :(得分:0)
我知道这是一个古老的问题,但是我正试图弄清楚同样的事情,最终制定出一个相当丑陋的解决方案但是完成了工作。请注意,我必须在插入activefooter
后重新定义wdFieldPage
,否则生成的页脚将显示为of 12
而不是1 of 2
。
The answer to this vba question was helpful when I was trying to figure out the formatting.
我正在使用Python 3.4,testdocument.doc只是一个现有的.doc文件,其中一些随机文本分布在两个页面上,没有现有的页脚。
w = win32com.client.gencache.EnsureDispatch("Word.Application")
w.Visible = 0
adoc = w.Documents.Open("C:\\temp1\\testdocument.doc")
activefooter = adoc.Sections(1).Footers(win32com.client.constants.wdHeaderFooterPrimary).Range
activefooter.ParagraphFormat.Alignment = win32com.client.constants.wdAlignParagraphRight
activefooter.Collapse(0)
activefooter.Fields.Add(activefooter,win32com.client.constants.wdFieldPage)
activefooter = adoc.Sections(1).Footers(win32com.client.constants.wdHeaderFooterPrimary).Range
activefooter.Collapse(0)
activefooter.InsertAfter(Text = ' of ')
activefooter.Collapse(0)
activefooter.Fields.Add(activefooter,win32com.client.constants.wdFieldNumPages)
adoc.Save()
adoc.Close()
w.Quit()