我有大约400个Word文件,我正在寻找一种用脚本替换所有这些文件的背景颜色的方法。那是否可以以任何方式实现?
答案 0 :(得分:1)
一般方法是记录您要作为VBA宏创建的更改,将该宏从VBA转换为PowerShell,然后遍历文档以进行修改。
$wd = New-Object -COM 'Word.Application'
$wd.Visible = $true # set to $false for production
Get-ChildItem 'C:\some\folder\with\*.docx' | % {
$doc = $wd.Documents.Open($_.FullName)
# your modifications to $doc here
$doc.Save()
$doc.Close()
}
$wd.Quit()
[Runtime.InteropServices.Marshal]::ReleaseComObject($wd)
[GC]::Collect()
[GC]::WaitForPendingFinalizers()
我刚才为translating VBA to VBScript写了一本指南。其中大部分也应该适用于PowerShell,尽管存在一些差异:
.Collection.Item(x)
的形式访问收藏品。在VBScript中工作的缩写语法.Collection(x)
在PowerShell中不起作用。.Close()
而不是.Close
)。[Type]::Missing
。