3

私は現在、C# と OpenOffice を使用して差し込み印刷をしようとしています。

DB に destanatary のリストがあります。私はこれが可能であることを望みます:

  • ユーザーがオブジェクト指向ドキュメントを編集し、「名前」「住所」「市区町村」などのフィールドといくつかの標準テキスト (例: 「こんにちは 、名前、お元気ですか?」、
  • スタイルなどを編集する
  • 次に、アプリケーションに移動し、[DB 内のすべてのユーザーに送信] をクリックします。

次に、プログラムはすべてのユーザーをループし、ユーザーごとに OO ドキュメントの差し込み印刷フィールドを DB データに置き換え、メール/印刷などで送信します。

問題 : C# で、OO ドキュメントのメールマージ フィールドを DB データに置き換える方法が見つかりません。これらのフィールドを処理するプロパティ/メソッドが見つからないためです。

それに応じた年次ボーナスで私を助けてください!(原文のまま)

私が見つけた唯一のポインタは、UNO ライブラリが必要になるように見えるということでしたが、C# には存在しないようです。

4

1 に答える 1

4

OpenOffice での C# の使用に関する一般的なヘルプ:

http://www.oooforum.org/forum/viewtopic.phtml?p=151606 http://opendocument4all.com/content/view/68/47/

OO 3.0 では、cli_*.dll ライブラリを参照する必要があります。これらは、OO のインストール時に GAC に配置されます。

OO 接続を初期化するサンプル コード:

 private static XMultiServiceFactory _multiServiceFactory;
 private static XComponentLoader _componentLoader;
 private static XFileIdentifierConverter _urlConverter;

 private static void Initialize()
 {
     XComponentContext localContext = uno.util.Bootstrap.bootstrap();
    _multiServiceFactory = (XMultiServiceFactory)localContext.getServiceManager();
    _componentLoader = (XComponentLoader)_multiServiceFactory.createInstance("com.sun.star.frame.Desktop");
    _urlConverter = (XFileIdentifierConverter)_multiServiceFactory.createInstance("com.sun.star.ucb.FileContentProvider");
 }

ドキュメントを読み込んでいます:

string url = _urlConverter.getFileURLFromSystemPath(Path.GetPathRoot(path), path);
XComponent xComponent = _componentLoader.loadComponentFromURL(url, "_blank", 0, new PropertyValue[] { MakePropertyValue("Hidden", new uno.Any(true))});
XTextDocument doc = (XTextDocument)xComponent;

どこ

 private static PropertyValue MakePropertyValue(string cName, Any uValue)
 {     
    PropertyValue oPropertyValue = new PropertyValue();
    if (!string.IsNullOrEmpty(cName))
       oPropertyValue.Name = cName;
    oPropertyValue.Value = uValue;
    return oPropertyValue;
 }

XTextDocument でできることの詳細については、こちらをご覧ください。

OpenOffice.org 開発者ガイドも参照してください。

更新します。もう 1 つの便利なリンク:
http://blog.nkadesign.com/2008/net-working-with-openoffice-3/

お役に立てれば

于 2009-07-22T15:48:43.653 に答える