OOobbs2/125
質問
Basicで以下のコードを実行すると実行可能なのですが、 oDoc = ThisComponent oEmbeded = oDoc.getEmbeddedObjects().getByIndex(0) oExtEmbedded = oEmbeded.ExtendedControlOverEmbeddedObject() oExtEmbedded.doVerb(-3) これを外部からC#で制御しようとしています。 その場合プログラムは以下のようになると思うのですが、doVerb(-3)を実行したところでOpenOfficeが応答無しになってしまいます。 このようにBasicでは出来て外部から制御できないということはあるのでしょうか? これを解決する方法が有るのでしょうか? 場違いの質問でしたら申し訳ありません。 // OLEオブジェクトを編集モードに unoidl.com.sun.star.text.XTextEmbeddedObjectsSupplier xEmbeddedObjectsSupplier = unoidl.com.sun.star.text.XTextEmbeddedObjectsSupplier)textDocument; // 埋め込みオブジェクトのコレクションを取得します。 unoidl.com.sun.star.container.XNameAccess xNamedEmbeddedObjects = xEmbeddedObjectsSupplier.getEmbeddedObjects(); uno.Any EmbeddedObject = xNamedEmbeddedObjects.getByName("オブジェクト1"); unoidl.com.sun.star.document.XEmbeddedObjectSupplier2 os2 = (unoidl.com.sun.star.document.XEmbeddedObjectSupplier2)EmbeddedObject.Value; unoidl.com.sun.star.embed.XEmbeddedObject eo = os2.getExtendedControlOverEmbeddedObject(); eo.doVerb(-3); 回答
感想,コメント,メモ
|