Vba Word文件的大量背景颜色更改
我有大约400个单词的文件,我正在寻找一种方法,用脚本替换所有文件的背景色。这是可以通过任何方式实现的吗?通常的方法是将要进行的更改记录为VBA宏,将该宏从VBA转换为PowerShell,然后循环文档以进行修改Vba Word文件的大量背景颜色更改,vba,powershell,ms-word,Vba,Powershell,Ms Word,我有大约400个单词的文件,我正在寻找一种方法,用脚本替换所有文件的背景色。这是可以通过任何方式实现的吗?通常的方法是将要进行的更改记录为VBA宏,将该宏从VBA转换为PowerShell,然后循环文档以进行修改 $wd=新对象-COM'Word.Application' $wd.Visible=$true#设置为$false用于生产 获取带有\*.docx'|%{ $doc=$wd.Documents.Open($\ux.FullName) #您对$doc的修改在这里 $doc.Save()
$wd=新对象-COM'Word.Application'
$wd.Visible=$true#设置为$false用于生产
获取带有\*.docx'|%{
$doc=$wd.Documents.Open($\ux.FullName)
#您对$doc的修改在这里
$doc.Save()
$doc.Close()
}
$wd.Quit()
[Runtime.InteropServices.Marshal]::ReleaseComObject($wd)
[GC]::Collect()
[GC]::WaitForPendingFinalizers()
我不久前写了一本指南。其中大部分内容也应适用于PowerShell,尽管存在一些差异:
- 必须以
的形式访问集合项。VBScript中使用的缩写语法.Collection.Item(x)
在PowerShell中不起作用.Collection(x)
- 函数调用需要括号(
而不是.Close()
).Close
- 参数不能省略。如果希望参数具有默认值,则必须使用
[Type]::Missing
$doc.Background.Fill.ForeColor.Blue$doc.Background.Fill.Solid
但没有成功。。另外,我知道powershell只支持16个基本控制台颜色枚举值?@xRoyDot控制台颜色与此无关。请用您当前的代码发布一个新问题。另外,请注意,$doc.Background.Fill.ForeColor
没有属性Blue
。