.NET と Word Interop を使用して、テンプレート (.dot) ファイルから新しい Word ドキュメントをプログラムで作成しています。これを行うにはいくつかの方法がありますが、私は AttachedTemplate プロパティを使用することにしました。
Dim oWord As New Word.Application()
oWord.Visible = False
Dim oDocuments As Word.Documents = oWord.Documents
Dim oDoc As Word.Document = oDocuments.Add()
oDoc.AttachedTemplate = sTemplatePath
oDoc.UpdateStyles()
( Documents.Add() を使用してテンプレートから開くときに発見したメモリ リークの問題のため、Documents.Add() メソッドよりも AttachedTemplate の手段を選択しています。)
これは、テンプレート フッターに画像 (InlineShape として表される) がある場合を除き、正常に機能します。その場合、画像は結果のドキュメントに表示されません。具体的には、画像はoDoc.Sections.Item(1).Footers.Item(WdHeaderFooterIndex.wdHeaderFooterPrimary).Range.InlineShapesコレクションに表示されるはずですが、そうではありません。
Documents.Add() を使用する場合、これは問題ではありませんが、メソッドは私にとってオプションではないと述べました。
テンプレートから画像を取得するために必要な追加の手順はありますか? AttachedTemplate を使用する場合は、(コード スニペットでわかるように) UpdateStyles() を明示的に呼び出してテンプレート スタイルをドキュメントに適用する必要があることを既に発見しましたが、Documents.Add() を使用する場合は自動的に行われます。それとも、クレイジーな回避策がありますか?あなたの助けは大歓迎です! :)