Возврат результатов поиска Word с помощью Powershell - PullRequest
0 голосов
/ 29 января 2019

Я хотел бы извлечь информацию о форматировании из документов Word с помощью PowerShell.С помощью 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 для -match.

1 Ответ

0 голосов
/ 30 января 2019

Вот пример того, что вы пытаетесь сделать…

Это поиск и замена, поэтому игнорируйте эту замену, если это не ваша конечная цель - это также поиск слов и затем применение курсива, но тот же подход можно использовать, чтобы просто найти все выделенные курсивом слова.

$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) 
}

… как задокументировано здесь:

Эй, сценарист!Как выделить курсивом определенные слова в документе Microsoft Word?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...