我想使用PowerShell从Word文档中提取格式信息。使用Word,您可以搜索格式化的文本。这样,Word会突出显示满足条件的部分(例如带绿色下划线的文本)。通过这一步骤,我也可以在PowerShell中找到斜体文本:
$objWord = New-Object -Com Word.Application
$myWordFile = 'C:\My\Word\File.docx'
$objDocument = $objWord.Documents.Open($myWordFile)
$objDocument.Paragraphs[0].Range.Find.Font.Italic = $true
$objDocument.Paragraphs[0].Range.Find.Execute()
但是,我对斜体文本本身感到好奇,这与$matches
的{{1}}的内容类似。
答案 0 :(得分:0)
这是您尝试做的事的一个示例……
这是查找并替换,因此,如果这不是您的最终目标,请忽略该替换部分-它也是查找单词,然后应用斜体字,但是可以使用相同的方法来查找所有斜体字。
$application = New-Object -comobject word.application
$application.visible = $true
$document = $application.documents.open("C:fsoTest.docx")
$selection = $application.Selection
$words = "exchange","sql"
$matchCase = $false
$matchWholeWord = $true
$matchWildCards = $false
$matchSoundsLike = $false
$matchAllWordForms = $false
$forward = $true
$wrap = 1
$format = $true
$replace = 2
Foreach ($word in $words)
{
$findText = $word
$replaceWith = $word
$selection.find.replacement.font.italic = $true
$exeRTN = $selection.find.execute($findText,$matchCase,
$matchWholeWord,$matchWIldCards,$matchSoundsLike,
$matchAllWordForms,$forward,$wrap,$format,$replaceWith,
$replace)
}
...如此处所述:
Hey, Scripting Guy! How Can I Italicize Specific Words in a Microsoft Word Document?