2

郵送先住所のリストが与えられたので、ラベル印刷用にフォーマットされた既存の Word 文書を開き、各住所をテーブルの別のセルに挿入する必要があります。現在のソリューションでは、Word アプリケーションを開き、カーソルを移動してテキストを挿入します。しかし、Web アプリケーションから新しいバージョンの Word を開くことに関連するセキュリティの問題や問題について読んだ後、別の方法を使用する必要があると判断しました。

Office Open XML の使用を検討しましたが、正確な使用方法に関する具体的な情報を提供する優れたリソースは見つかりませんでした。また、誰かが SQL レポート サービスを使用することを提案しましたが、それらの使用方法に関する情報を検索しても、どこにも行きませんでした。

私の問題に最も適しているのはどの方法だと思いますか?

コード サンプルと優れたチュートリアルへのリンクは非常に役立ちます。

4

6 に答える 6

4

すべての回答に感謝しますが、私は本当にプラグインにお金を払いたくありませんでした.Wordの自動化を使用することは問題外でした. それで私は検索を続け、試行錯誤の末、いくつかの答えを見つけました。

Microsoft のサイトを徹底的に検索した結果、Office Open XML SDK に関する新しい記事をいくつか見つけました。新しいツールをダウンロードして、それぞれのツールを使い始めました。

次に、Document Reflector を見つけました。これは、既存の Word ドキュメント (.docx) に基づいて XML コードを生成するクラスを作成します。ラベル テンプレート ドキュメントとこのツールで生成されたコードを使用して、各住所のテーブル セルを追加するループを実行し、追加しました。実際には、Word オートメーションを使用するよりもかなり簡単で、はるかに高速であることが証明されました。

そのため、まだ Word オートメーションを使用している場合は、Office Open XML ツールを確認してください。Microsoft から無料でダウンロードできるため、驚くほど広範です。

Office Open XML SDK 2.0 ダウンロード

于 2009-06-02T22:39:56.393 に答える
2

dnrTV ( www.dnrtv.com ) で番組 137 と 138 をご覧ください。これらのビデオでは、Beth Massi が OpenXML を使用して編集とメールの結合を行う方法を示しています。彼女は、VB で Open XML SDK と xml リテラルを使用してこれを行います。サードパーティのコンポーネントは必要ありません。また、MS Office をマシンにインストールする必要もありません。

このビデオは、VB の別の dll で XML 操作を行うために C# を開発した (そして VB の経験がない) 私にインスピレーションを与えました。C# アプリケーションからこの dll を呼び出します。

試してみる価値があります。

于 2009-05-31T19:07:31.177 に答える
2

Aspose.comの Words プラグインを使用してメール マージを行います (プログラミング ガイド)。

于 2009-05-31T16:44:58.127 に答える
1

tvanfossonが言及した製品Asposeがあります。購入したエディションはSQLReportingServicesで動作するため、スケジューラーで出力を作成するために使用できます。これは本当に素晴らしい製品であり、最終的なドキュメントで韓国語の文字をサポートする必要があるシステムで使用しました。それはうまく機能し、サポート付きで1,000ドル未満でした。悪くない。

このような製品を使用する利点は、データを引き続き管理でき、ドキュメントの作成に必要なスキルセットが、さまざまな開発者がその使用をサポートできるレベルにあることです。

于 2009-05-31T16:57:49.360 に答える
0

ヴァンスティー、

本当にコードでこれを行いたい場合は、Google で見つけたこの投稿をチェックしてください。

http://kellychronicles.spaces.live.com/blog/cns!A0D71E1614E8DBF8!1364.entry

于 2009-05-31T16:49:04.080 に答える
0

レポーティング サービスを使用している場合、単語 doc の情報をデータベース テーブルに移動し、そこから読み取って式から単語を削除するだけでよいでしょうか。

于 2009-06-01T12:09:04.153 に答える