1
1
param (
2
- $BaseFileName ,
3
- $ChangedFileName
2
+ [ string ] $BaseFileName ,
3
+ [ string ] $ChangedFileName
4
4
)
5
5
6
6
$ErrorActionPreference = ' Stop'
7
7
8
+ function resolve ($relativePath ) {
9
+ (Resolve-Path $relativePath ).Path
10
+ }
11
+
12
+ $BaseFileName = resolve $BaseFileName
13
+ $ChangedFileName = resolve $ChangedFileName
14
+
8
15
# Remove the readonly attribute because Word is unable to compare readonly
9
16
# files:
10
17
$baseFile = Get-ChildItem $BaseFileName
@@ -17,16 +24,16 @@ $wdDoNotSaveChanges = 0
17
24
$wdCompareTargetNew = 2
18
25
19
26
try {
20
- $word = New-Object - ComObject Word.Application
21
- $word.Visible = $true
22
- $document = $word.Documents.Open ($BaseFileName , $false , $false )
23
- $document.Compare ($ChangedFileName , [ref ]" Comparison" , [ref ]$wdCompareTargetNew , [ref ]$true , [ref ]$true )
27
+ $word = New-Object - ComObject Word.Application
28
+ $word.Visible = $true
29
+ $document = $word.Documents.Open ($BaseFileName , $false , $false )
30
+ $document.Compare ($ChangedFileName , [ref ]" Comparison" , [ref ]$wdCompareTargetNew , [ref ]$true , [ref ]$true )
24
31
25
- $word.ActiveDocument.Saved = 1
32
+ $word.ActiveDocument.Saved = 1
26
33
27
- # Now close the document so only compare results window persists:
28
- $document.Close ([ref ]$wdDoNotSaveChanges )
34
+ # Now close the document so only compare results window persists:
35
+ $document.Close ([ref ]$wdDoNotSaveChanges )
29
36
} catch {
30
- Add-Type - AssemblyName System.Windows.Forms
31
- [System.Windows.Forms.MessageBox ]::Show($_.Exception )
37
+ Add-Type - AssemblyName System.Windows.Forms
38
+ [System.Windows.Forms.MessageBox ]::Show($_.Exception )
32
39
}
0 commit comments