2
1つの文字列をワードファイルの別の文字列に置き換えるPowerShellスクリプトを作成しようとしています。私は500単語以上のテンプレートとファイルを更新する必要がありますので、手作業で作成する必要はありません。 1つの問題は、フッターやヘッダーにテキストを見つけることができないということです。なぜなら、それらはすべて個別であり、画像付きの表であるからです。私は、通常の「本文」テキストでテキストを見つけることができますが、今はそれを置き換えていません。ここに私のコードを見つけることです。Wordファイルのヘッダー、フッター、および通常のテキスト内の特定のテキストを置き換えます。
$path = "C:\Users\BambergerSv\Desktop\PS\Vorlagen"
$files = Get-Childitem $path -Include *dotm, *docx, *.dot, *.doc, *.DOT, *DOTM, *.DOCX, *.DOC -Recurse |
Where-Object { !($_.PSIsContainer) }
$application = New-Object -ComObject Word.Application
$application.Visible = $true
$findtext = "www.subdomain.domain.com"
function getStringMatch {
foreach ($file In $files) {
#Write-Host $file.FullName
$document = $application.Documents.Open($file.FullName, $false, $true)
if ($document.Content.Text -match $findtext) {
Write-Host "found text in file " $file.FullName "`n"
}
try {
$application.Documents.Close()
} catch {
continue
Write-Host $file.FullName "is a read only file" #if it is write protected because of the makros
}
}
$application.Quit()
}
getStringMatch