PowerShell: ◆複数のWord文書を纏めて1つにする。で複数の章に分けたドキュメントを一つにまとめている。
それぞれの文書には先頭に目次が付いているのだが、一つに纏めたときにフォーマットが崩れてしまう文書が存在する。(1つの目次行が2行に分かれて表示されたりする)
どういう文書の場合おかしくなるのか法則性はよくわからない。
Wordお得意のバグの範疇だと思うのだがWordに腹を立てても解決しない。
目次を選択してF9で最新状態にしてやれば直るので、文書を纏めるときに最新に更新するロジックを組み込むことにした。
Selection.Fields.Update()で更新してくれるのかと思ったのだが、どうやら目次は更新してくれない。
調べてみたところ、TablesOfContents.Update()メソッドで更新されるようだ。
001 002 003 004 005 006 007 008 009 010 011 012 | #Wordの目次を更新する $word = new-object -comObject "Word.Application" $word.Visible = $true [void]$word.Documents.Open("d:\desktop\test.docx") #$word.ActiveDocument.TablesOfContents.Item(1).Update() foreach($item in $word.ActiveDocument.TablesOfContents){ $item.update() #$item.UpdatePageNumbers } [void]$word.Application.ActiveDocument.Close() $word.Quit() |
0 件のコメント:
コメントを投稿