2011-06-03 110 views
1

我想使用PowerShell將自定義標題添加到.doc文件(我的意思是實際的標題,而不是標題)。這應該工作:將標題添加到Word文檔?

$Word=New-Object -ComObject "Word.Application" 
$wdSeekPrimaryHeader = 1 
$Doc=$Word.Documents.Open("C:\test.doc") 
$Selection=$Word.Selection 
$Doc.ActiveWindow.ActivePane.View.SeekView=$wdSeekPrimaryHeader 
$Selection.TypeText("Text") 
$doc.close([ref]$Word.WdSaveOptions.wdDoNotSaveChanges) 
$word.quit() 

但它沒有。它實際上沒有我能說的。

任何想法,我在做什麼錯在這裏?

這裏是工作的代碼:

$Word=New-Object -ComObject "Word.Application" 
$wdSeekPrimaryHeader = 1 
$Doc=$Word.Documents.Open("C:\test.doc") 
$Selection=$Word.Selection 
$Doc.ActiveWindow.ActivePane.View.SeekView=$wdSeekPrimaryHeader 
$Selection.TypeText("Text") 
$Doc.Save() 
$Doc.Close() 
$Word.Quit() 

再次感謝偷看!

回答

2

我不確定[ref]是否可以正常工作,但是您已經引用了DoNotSaveChanges。你不想保存更改嗎?

+0

是啊,這實際上是代碼:) – JoeG 2011-06-03 16:51:25

+0

錯行我的壞,在劇本,我在想這個問題,我曾評論了正確的代碼,並且是實際使用我發佈的代碼。感謝讓我更加密切關注! – JoeG 2011-06-03 19:17:15

+0

是的,[ref]確實有效;) – JoeG 2011-06-03 19:21:13

1

我在[參考](參數:'1'不應該是System.Management.Automation.PSReference,不要使用[參考])時出錯。) 如果我將close(..)行搭配:

$doc.save() 
$doc.close() 

然後我看到標題

+0

你安裝了什麼版本的Word? – JoeG 2011-06-03 16:50:51

+0

$ word.Version輸出'12.0' – PeskyGnat 2011-06-03 17:03:28