使用Powershell返回Word搜索结果

时间:2019-01-28 21:37:00

标签: powershell ms-word

我想使用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}}的内容类似。

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?