Verfolgen Sie Änderungen in MS Word über das PowerShell-Skript

440
Densetsu

Könnte mir bitte jemand helfen, das folgende Skript zu ändern, damit es auch Änderungen in MS Word nachverfolgen kann? Ich muss in der Lage sein zu sehen, wo eine Änderung vorgenommen wurde, um sicherzustellen, dass die resultierende Strafe noch sinnvoll ist. Dies ist das Skript (nicht meins):

$objWord = New-Object -comobject Word.Application  $objWord.Visible = $false  $list = Get-ChildItem "c:\users\stefan\test\*.*" -Include *.doc* foreach($item in $list){ $objDoc = $objWord.Documents.Open($item.FullName,$true)  $objSelection = $objWord.Selection  $wdFindContinue = 1 $FindText = "Sara"  $MatchCase = $False  $MatchWholeWord = $true $MatchWildcards = $False  $MatchSoundsLike = $False  $MatchAllWordForms = $False  $Forward = $True  $Wrap = $wdFindContinue  $Format = $False  $wdReplaceNone = 0  $ReplaceWith = "AJMOO"  $wdFindContinue = 1  $ReplaceAll = 2  $a = $objSelection.Find.Execute($FindText,$MatchCase,$MatchWholeWord, `  $MatchWildcards,$MatchSoundsLike,$MatchAllWordForms,$Forward,`  $Wrap,$Format,$ReplaceWith,$ReplaceAll)  $objDoc.Save() $objDoc.Close() } $objWord.Quit() 
0
Ich glaube nicht, dass jemand hier für Sie programmieren möchte. Eigentlich sollten Sie es selbst versuchen und dann mit einer spezifischen Frage kommen, falls Sie ein Problem haben. davidbaumann vor 5 Jahren 0
Ich habe es versucht, und ich kann nicht einmal einen Ort finden, um nach einer Richtung zu suchen, in der ich meine Forschung betreiben möchte. Wenn Sie einen konstruktiven Tipp dazu haben, werde ich es sehr schätzen. Ich habe es schon stundenlang gegoogelt. Densetsu vor 5 Jahren 0
In VBA veröffentlicht Word das [Revisionsobjekt] (https://docs.microsoft.com/de-de/office/vba/api/word.revisions). Ich weiß nicht, ob es auch in PowerShell existiert. harrymc vor 5 Jahren 0

1 Antwort auf die Frage

0
motosubatsu

Tragen Sie mit mir, wenn ich dies aus Erinnerung mache, aber das sollte den Trick tun:

$objWord = New-Object -comobject Word.Application  $objWord.Visible = $false  $list = Get-ChildItem "c:\users\stefan\test\*.*" -Include *.doc* foreach($item in $list){ $objDoc = $objWord.Documents.Open($item.FullName,$true)  $objDoc.TrackRevisions = $true  $objDoc.ShowRevisions = $true   $objSelection = $objWord.Selection  $wdFindContinue = 1 $FindText = "Sara"  $MatchCase = $False  $MatchWholeWord = $true $MatchWildcards = $False  $MatchSoundsLike = $False  $MatchAllWordForms = $False  $Forward = $True  $Wrap = $wdFindContinue  $Format = $False  $wdReplaceNone = 0  $ReplaceWith = "AJMOO"  $wdFindContinue = 1  $ReplaceAll = 2  $a = $objSelection.Find.Execute($FindText,$MatchCase,$MatchWholeWord, `  $MatchWildcards,$MatchSoundsLike,$MatchAllWordForms,$Forward,`  $Wrap,$Format,$ReplaceWith,$ReplaceAll)  $objDoc.Save() $objDoc.Close() } $objWord.Quit() 
Oh das funktioniert PERFEKT !!!! DANKE DIR! Densetsu vor 5 Jahren 0
@Densetsu Froh, dass es funktioniert hat :) motosubatsu vor 5 Jahren 0