6

Word 文書のデータを解析するスクリプトがあります。今朝、オフィスに到着すると、スクリプトが完了していないことに気付きました。[使用中のファイル] ダイアログ ボックスが表示されたままです。MSDN$trueでパラメータ -- open Read-Only --への参照を見つけましたが、それでもダイアログ ボックスが表示されます。

ここに画像の説明を入力

そして当然のことながら、次のドキュメントを開く前に変更を保存するかどうかを確認するダイアログ ボックスが表示されますが、ダイアログ ボックスが開いているためにアクセスできませんはぁ。ドキュメントを開いてデータ (ハイパーリンク) をスキャンし、保存せずにドキュメントを閉じるにはどうすればよいですか?

ここに画像の説明を入力

ここにコードが表示されます。$hyperlinksファイルに書き込むステップは含めていません。私は、ファイルの読み取りと終了の部分を機能させることに集中しています。

$global:word = new-object -ComObject Word.Application 
$word.Visible = $False 
$backupPath   = "\\Path\to\files\"   # Backup data path
$srcfiles     = Get-ChildItem $backupPath -filter "*.doc"
 #   
foreach ($doc in $srcfiles) {
    $word.documents.Open($doc.Fullname,$true);
    $links = @($doc2.Hyperlinks);
    $links
    $word.Quit();
}
4

2 に答える 2

11

読み取り専用の場合は、これを試してください:

$word.Documents.Open("$doc.Fullname", $false, $true)

閉じるには、これを試してください:

$word.Documents.Close($false)

MSDN リンクは、これらのパラメーターが表示される必要がある順序についてかなり明確に見え、上記は私にとってはうまくいきました。

于 2013-10-30T18:07:48.730 に答える