0

サードパーティの .Net アセンブリからメソッドを呼び出す必要があります。必要なオブジェクトは公開されており、ComVisible 属性でマークされています。必要なメソッドは public ですが、 IRibbonControl を取ります。そう:

[ComVisible(true)]
public class CustomUI : IRibbonExtensibility

.. ..

public void SaveAs(IRibbonControl control);

たとえば、VBAのCreateObjectを介してこれは可能ですか? VBA で IRibbonControl を作成する必要がありますよね?

4

2 に答える 2

1

これがあなたの質問に直接答えないことは知っていますが、DispIdsを使用してインターフェイスを設定し、正しく再ガス化すれば、VBAで使用できるはずです。私は通常、マシンでVBScriptテストを使用してCOM公開オブジェクトをテストします。

VB6コードでのVB.NETイベントの処理

明らかにそれはVB.NETコードですが、属性などはC#ではわずかに異なる形式です。(その部分についてさらにサポートが必要な場合はお知らせください)

レジストリでオブジェクトレジスタを正しく確認できますか(dllへの参照を検索するか、そのクラス名を検索してください)。

DLLを登録していることを確認してくださいregasm "path to dll" /codebase /tlbTLBを登録しないと、VBAはオブジェクトを見つけることができないと思います。

VBScriptからset myobj = CreateObject("FULLREFERENCE.CLASSNAME")、正確な名前が得られるまで実験する必要があります。

次に、VBAコードで、登録方法に応じてtlb/dllに参照を追加します。

于 2012-06-06T01:28:44.337 に答える
0
Dim var As Office.IRibbonControl
Set var = New Office.IRibbonControl

IRibbonControl オブジェクトを作成します

あなたが見たいと思うかもしれません: http://www.xtremevbtalk.com/showthread.php?t=265636&highlight=iribboncontrol

于 2012-06-06T20:08:34.437 に答える