Мне нужно пройти тысячи документов, ищущих строку. Когда я это сделаю, документ слова появляется на экране, а затем исчезает после удаления объекта.
Существует параметр метода Documents.OpenNoRepairDialog
, который находится в положении 13 для контроля видимости. Я не могу заставить любую комбинацию работать за пределами трех параметров, перечисленных в коде. Есть ли способ, чтобы эти документы были видны при запуске кода и превращении моего экрана в стробоскопический свет?
$Doc = $Word.Documents.OpenNoRepairDialog($file,$false,$true)
- это та часть, с которой мне нужна помощь. Я получаю ошибки при попытке добавить дополнительные аргументы, такие как $null
.
$Word = New-Object -comobject Word.Application
$Word.Visible = $false
$word.DisplayAlerts = "wdAlertsNone"
$Doc = $Null
$DocContent = $Null
$Doc = $Word.Documents.OpenNoRepairDialog($file,$false,$true)
$DocContent = $Doc.Content.Text | Select-String -Pattern $Using:SearchStrings
If($DocContent)
{
Write-Verbose "Match in $_ for Word" -Verbose
Write-Output "Match in $_" | Out-File -FilePath $Using:OutputFilePath -Append
}
Else
{
Write-Verbose "No Match" -Verbose
}
$Word.Documents.Close()
$Word.Quit()
While([System.Runtime.InteropServices.Marshal]::ReleaseComObject($DocContent)){}
While([System.Runtime.InteropServices.Marshal]::ReleaseComObject($Doc)){}
While([System.Runtime.InteropServices.Marshal]::ReleaseComObject($Word)){}
Remove-Variable -Name DocContent
Remove-Variable -Name Doc
Remove-Variable -Name Word