我正在做一个项目,我需要将 AUTOTEXT 条目(如 X 列表的第 1 页)添加到 Power Shell 生成的 MS Word 文档的页眉和页脚。我尝试从以下 C# 示例中提取想法,但我似乎无法弄清楚如何使其工作。我很好奇是否有人可以分享一些代码来帮助我解决这个问题。
问问题
1111 次
1 回答
1
一个起点。此函数将页码添加到作为参数传递的文档的页脚(用于 word 2010):
function Add-PageFooter ([string]$Document) {
add-type -AssemblyName "Microsoft.Office.Interop.Word"
set-variable -name wdAlignPageNumberCenter -value 1 -option constant
$fc1 = "Page"
$word = New-Object -comobject Word.Application
$Word.Visible = $True
#$Word.Visible = $False
$fc2 = [ref] "" -as [Type]
$OpenDoc = $Word.Documents.Open($Document)
$c = $OpenDoc.Sections.Item(1).Footers.Item(1).PageNumbers.Add($wdAlignPageNumberCenter)
$range1 = $openDoc.Sections.Item(1).Footers.Item(1).range
$field1 = $OpenDoc.Fields.Add($range1, -1, $fc2)
$field1.Code.Text = $fc1
$field1.Update
#$OpenDoc.Close()
}
另一种方法是创建一个 WordMacro
并从 powershell 执行:
$wd = new-object -comobject word.application # create a com object interface (word application)
$wd.documents.open("C:\word\test.doc") # open doc
$wd.run("Macro01") # exec macro named macro01 that add custom footer and/or header
$wd.quit() # exit application
macro
必须保存在normal.dot
(对于 2010 及更高版本)才能将normal.dotm
其保存在所有打开的文档中。
通过这种方式,您可以在 Word 文档中自定义您想要的内容,而不仅仅是在宏中记录您在文档中的操作的页眉/页脚。
于 2012-05-25T22:38:37.180 回答