2008-08-14 4 views
5

私は現在アクティブなOpenOffice文書をC#から直接貼り付けるためにいくつかのコードに取り組んでいます。パッケージ化したくないので、私はOpenOfficeライブラリを含めることができないので、リフレクションを使ってOpenOffice APIにアクセスしています。OpenOfficeでリフレクションを通してC#を使用する

私の質問には、リフレクションを使用してディスパッチャを使用することが含まれます。私はそれに渡す正しいパラメータを把握することはできません、タイプミスマッチのために素敵な "TargetInvocationException"を与えます。

object objframe = GetProperty<object>(objcontroller, "frame"); 
if (objframe != null) 
{ 
    object[] paramlist = new object[2] {".uno:Paste", objframe}; 
    InvokeMethod<object>(objdispatcher, "executeDispatch", paramlist); 
} 

どのように修正できますか?

答えて

1

私はそれだけですか、あなたのパラメータが間違っていますか?また、正しい数のパラメータがありますか?

ドキュメントは言う:あなたはすでにこのようなものをチェックした場合、私は、しかしとても残念に何かが欠けていることができ、あなたのパラメータリストが

として定義されている必要があることを私に示すことになる

dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array()) 

object[] paramlist = new object[5] {objframe, ".uno:Paste", "", 0, null}; 
関連する問題