Vba Word文件的大量背景颜色更改

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()

我有大约400个单词的文件,我正在寻找一种方法,用脚本替换所有文件的背景色。这是可以通过任何方式实现的吗?

通常的方法是将要进行的更改记录为VBA宏,将该宏从VBA转换为PowerShell,然后循环文档以进行修改

$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,尽管存在一些差异:

  • 必须以
    .Collection.Item(x)
    的形式访问集合项。VBScript中使用的缩写语法
    .Collection(x)
    在PowerShell中不起作用
  • 函数调用需要括号(
    .Close()
    而不是
    .Close
  • 参数不能省略。如果希望参数具有默认值,则必须使用
    [Type]::Missing

因此,这里不是别人为您编写代码的地方。到目前为止您尝试了什么,您需要帮助解决什么具体问题?Ansgar,我不希望有人给我完整的代码。我一直在寻找解决此问题的方法,并了解是否有可能解决此问题。谢谢。我现在正在尝试在您提供的函数中修改$doc:
$doc.Background.Fill.ForeColor.Blue$doc.Background.Fill.Solid
但没有成功。。另外,我知道powershell只支持16个基本控制台颜色枚举值?@xRoyDot控制台颜色与此无关。请用您当前的代码发布一个新问题。另外,请注意,
$doc.Background.Fill.ForeColor
没有属性
Blue