Wordの独自テンプレートを置いていたサーバーがリプレースされてパスが変わってしまったため、Word文書のテンプレートパスを一括で変更するスクリプトを作った。
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 | $iPath = "\\hogeServer\public\*" $ext = "docx" $targetDocs = Get-ChildItem -Path $iPath -Include "*.$ext" -r $word = new-object -comObject "Word.Application" $word.Visible = $true foreach($doc in $targetDocs){ $word.Documents.Open($doc.fullname) | Out-Null #Template設定 $word.ActiveDocument.AttachedTemplate = "\\hogehogeServer\pub\テンプレート.dotx" #保存して終了 [void]$word.Application.ActiveDocument.Save() [void]$word.Application.ActiveDocument.Close() } $word.Quit() |
ちなみに、ファイルサーバーの名前が変わってしまうと、Hostsファイルやlmhostsファイルでアドレスを置き換えてあげてもうまくいかない。(場合による?)
サーバー側のレジストリーでエイリアス名を設定すると良さそうではあるが・・・。
0 件のコメント:
コメントを投稿