0

標準の .NET フレームワーク ライブラリ (System、System.Windows.Forms) を使用する C# で記述されたライブラリがあります。このライブラリは、そのクラスと同様に COMVisible です。2 つのクラスしかありません。 - TestClass (1 つのメソッドを持つクラス) - TestForm (空のフォーム)

ここで提案されているようにアセンブリを登録しました: C# COM DLL: do I use Regasm, or Regsvr32?

次に、Excel アドインに移動し、生成された .TLB ファイルへの参照を追加しました。

「TestClass」のインスタンスを作成し、そのメソッドを問題なく呼び出すことができますが、「TestForm」のインスタンスを作成しようとすると、次のエラーが表示されます。

Run-time error '-2147024894 (80070002)':

Automation error
The system cannot find the file specified.

クラスを機能させようとしたときに見た問題によると、問題は、依存関係の 1 つ (System.Windows.Forms と推測しています) が Excel によって検出されないことです。

64 ビット Office アドインから .NET で記述されたフォームを開くにはどうすればよいですか?

前もって感謝します

4

1 に答える 1

1

以下の例は、64ビットOfficeでVBA7コードがどのように機能するかを示すのに役立ちます。

64ビットOfficeアドインに追加することは問題ではないかもしれませんが、VBA7でそれらを使用しようとすると、uは間違いなく問題を経験します。

Office 2010の64ビットバージョン(VBA7)を使用しているかどうかのテスト:

#If Win64(VBA7) Then
   Declare PtrSafe Function GetTickCount64 Lib "kernel32" () As LongLong
#Else(VBA)
   Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long
#End If

私が間違っている場合は、ソリューション@ kirantej @ gmail.comで私に連絡してください。したがって、私も同じタスクに取り組んでいます...:-P

于 2011-12-15T12:46:06.973 に答える