質問

" Microsoft Word 12.0オブジェクトライブラリ"を使用して、テンプレートから自動でWord文書を作成しました。私のプロジェクトでは、それは受け入れられないほど遅いです。私は代替案を探しています:テンプレートから文書を作成し、いくつかのマクロを実行し、さまざまなブックマーク範囲にテキストと表を挿入する必要があります(テキストの書式設定オプションもあります)。最終的なドキュメントは Word2007 と互換性がある必要がありますが、 .NET から簡単に入手できるソリューションを希望します(他の推奨事項も歓迎します)...

アドバイスしてください。

役に立ちましたか?

解決

Microsoftのをご覧ください。 Office OpenXML SDK 。 Officeアプリケーションを使用せずに、Word 2007(.docx)ドキュメントをプログラムで作成できます。

これを使用するには、OpenXMLファイル形式に精通している必要があります。例を提供する良い出発点は、ブライアンジョーンズおよび Erika Ehrli

CodeProjectの次のサンプルも良いスタートかもしれません:作成Open XML Format SDKを使用したWord 2007文書

また、既存のドキュメントに基づいて特定のWordドキュメントを生成するコードを作成する、SDKに含まれるツールであるDocumentReflectorを確認することをお勧めします。

他のヒント

オプション、今まで使用していました:

  1. あなた-COMオートメーション:パフォーマンスは私にとって最大の問題ではありませんでしたが、 デッドプロセス、ロックされたファイルなど、COMオートメーションのすべてのdetailsい詳細だけ。 APIが存在する一部のタスクでは、人だけがアプリを使用する限り、 まだオプションです。 Wordのインストールが必要です。
  2. HTMLとしてインポートし、Wordとして保存-期待どおりに迅速かつ良好に動作しますが、 単語の形式がシンプルで、HTMLマークアップ構造と非常によく一致している限り (例:ヘッダー、アイテムリスト)。処理を簡素化するには、テンプレートをHTMLにする必要があります。 限られたユースケースのための頻繁なクイックハック。 Wordのインストールが必要です。
  3. WordMLとして保存されたテンプレートの連結と処理:COMの痛みを軽減 自動化ですが、WordMLはXMLとしてマスクされた単なるバイナリ形式であるため、多くの場合は苦痛です。 したがって、一部のタスクは、Word-APIを使用するよりも複雑です。 それにもかかわらず、私は1よりもそれを好む。 Wordのインストールは不要です。
  4. 前の回答のように、OpenXML SDK:これを使い始めたばかりで、良いようです 1と3の妥協:XMLレベルまたはAPIレベルで動作します。 特定の機能。 Wordのインストールは不要です。
  

その他の推奨事項も高く評価されています

OpenXML SDKに相当するJavaは、docx4j(私のプロジェクト)、およびPOIです。

docx4jを使用すると、既存のdocxにマクロを挿入したり、dotmから作業したりできます(divoが示唆します)。

Officewriter は別のオプションです。

  

OfficeWriter APIは.NETライブラリであり、生成、   自分のExcelおよびWordドキュメントを操作し、読む   アプリケーション。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top