0

MSWord2010メールマージのデータソースとして使用したいバックエンドシステムがあります。データソースを提供し、Webサービスを介してバックエンドと通信するワードアドインを作成する必要があると考えています。

ワードアドインを使用してカスタムデータソースを提供することは一般的に可能ですか?ベッサーソリューションはありますか?C#でこれを行うことは可能ですか?これに関するうめき声の情報はどこにありますか?

ありがとう

4

2 に答える 2

3

Wordのすぐに使用できるMailmerge機能で使用できるデータソースの種類はよく知られています。

  1. Word文書、プレーンテキストファイル、Excelワークブックなどのファイルタイプのデータソース、
  2. 「DDE」ソース(Access、Excel、およびMSクエリ。これらは、ODBC接続で機能することを期待しています)
  3. ODBCデータソースと
  4. OLE DBデータソース(これらは、AFAIKが文書化されていないいくつかの基準に準拠している必要があります。たとえば、プロバイダーはiCommandを実装する必要があると思います)

組み込みのMailmergeを使用するには、Wordでソースを開く必要があり、OpenDataSourceをオーバーライドすることはできません。

ADO.NETデータソースを直接使用したり、切断されたレコードセットを使用したりできるインターフェイスはありません。あなたがそれをしたいのなら、あなたは「あなた自身の」メールマージを「転がす」必要があります。検討できる出発点の1つは、EricWhiteの一連の記事です。たとえばここを参照してください。

それ以外の場合は、データソースが上記のいずれかであることを確認する必要があります。ODBCソースの場合は、DSNも使用する必要があります。DSNなしの接続文字列を使用して接続することはできません。システムまたはマシンDSNを使用して「ファイル」を使用することは避けられますが、実際には、ターゲットマシンでファイルDSNを作成するよりもファイルDSNを配布する方が簡単な場合があります。

OLE DBデータソースの場合、.udlまたは.odcのいずれかの種類の「接続ファイル」が必要です。

最後の注意:Wordに関する限り、「ODBC」は「古い」であり、「OLEDB」は新しいものです。しかし、Microsoftは少し前に、ODBCを優先してOLEDBを廃止すると発表しました。それがSQLServerにのみ当てはまるのかどうかは明らかではなく、Wordが将来サポート/支持するものを教えてくれるものを見たことがありません。その間、もちろん、より多くのドキュメントとデータがクラウドの場所に保存されており、一部のODBC /OLEDBドライバー/プロバイダーを使用してアクセスできない場合があります。

于 2012-08-07T21:30:15.537 に答える
1

はい、C#から実行できますが、期待していた方法よりも手間がかかります。カスタムデータソースを使用できる場合、これはおそらくあなたに最高の価値を与えるでしょう。プログラミングに慣れている場合(C#について言及した場合)、メールのマージプロセスを制御するための小さなプログラム(できれば小さなプログラム)を作成します。JODReportsとDocmosisがJavaスペースでdoc-to-docをメールマージするのを見たことがありますが、C#APIがあるかどうかはわかりません。これらのツールが便利に見える場合は、スクリプト/コマンドラインから確実に呼び出すことができます。これは、次に速い努力の見返りになる可能性があります。
DOCXファイルはXMLのzipファイルであるため、文字通り開いて変更を加えることができるため、DOCXファイルを自分で処理することもできます。しかし、それはもっと多くのプログラミング作業です。
幸運を。

于 2012-08-08T00:50:07.750 に答える