186 :
デフォルトの名無しさん:
C#で書いて作ったDLLをEXCELやACCESSから呼び出して使うことは出来ますか?
187 :
名無しさん♯:2001/04/08(日) 01:28
>>186 もちろんできるよん。ちょっとめんどいけど。
sn.exeでキーペアを作って、DLLに埋め込む。
DLLをGlobal Assembly Cacheにインストールする。
あとはregasm.exeでCOMに登録する。
これで "namespace名.class名" でCreateObjectできるはず。
188 :
デフォルトの名無しさん:2001/04/08(日) 16:40
>187
うう。サパーリわかんない。。。(T_T)
よろしければ、もう少し具体的なコマンドの手順を教えてくださいませんか。 > ♯さん
189 :
VB厨房@MCSD:2001/04/09(月) 01:07
>>188 顔文字キモイ(w
もしや COM DLL じゃなくてって奴?
(COMの利用方法は.NETでも変更ナシ)
190 :
名無しさん♯:2001/04/09(月) 20:29
>>188 了解♪
1. 適当にクラスを作る。(hoge.cs)
namespace AAA
{
public class BBB
{
public string CCC() {
return "イッテヨシ";
}
}
}
2. キーペアを作る。(hoge.snk)
sn /k hoge.snk
3. ソースをコンパイルして、キーペアを埋め込んだDLLを作る。(hoge.dll)
csc /t:library /a.keyfile:hoge.snk hoge.cs
4. Global Assembly Cache に登録。
gacutil /i hoge.dll
(エクスプローラの C:\Winnt\Assembly\Donwload に hoge.dll を
ドラッグドロップしても可。)
5. COM DLLとして登録。
regasm hoge.dll
これで終了。
あとはVBAなりWSHで呼び出せるよ。
Public Sub Test()
Dim hoge
Set hoge = CreateObject("AAA.BBB")
MsgBox hoge.CCC
Set hoge = Nothing
End Sub
間違えた。
> エクスプローラの C:\Winnt\Assembly\Donwload に
エクスプローラの C:\Winnt\Assembly に