VB2005でつくったCOMをExcel2000VBAで使いたい。 への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2010/3/4 06:28:05
Access や VB6 であれば、比較的スムーズに進むのですけれどね…。
> ExcelVBAから使うためには、なにか特別な操作が必要なのでしょうか?
Excel や Word から利用する場合には、いろいろとややこしい話があったりします。
http://connect.microsoft.com/VisualStudio/feedback/details/96989/cannot-use-com-objects-created-with-net-framework-2-0-from-excel
http://rucio.groupsite.jp/commu/ThreadDetail.aspx?ThreadId=9141
http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/8e33f7c0-86b5-4449-8259-aee7f010fc7b
http://msdn.microsoft.com/ja-jp/library/cc375809.aspx
> ExcelVBAから使うためには、なにか特別な操作が必要なのでしょうか?
Excel や Word から利用する場合には、いろいろとややこしい話があったりします。
http://connect.microsoft.com/VisualStudio/feedback/details/96989/cannot-use-com-objects-created-with-net-framework-2-0-from-excel
http://rucio.groupsite.jp/commu/ThreadDetail.aspx?ThreadId=9141
http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/8e33f7c0-86b5-4449-8259-aee7f010fc7b
http://msdn.microsoft.com/ja-jp/library/cc375809.aspx
投稿者 えくせらー  (社会人)
投稿日時
2010/3/4 05:48:22
いつも参考にさせていただいています。業務で使うアプリを作成する際や後輩に
プログラミングを教える際、とてもわかりやすくまとめてあり感謝です。
さて、VB.NET/2005/2008のテクニック目次→COMオブジェクトとの連携のページ
について質問があります。当方の環境はWindowsXP SP2, VS2005Professional(SPなし),
VB6SP5, Excel2000SR-1です。
「3.VB6から.NETのアセンブリを呼び出す」に習ってVB2005でCOMクラスを使った
クラスライブラリをビルドして、VB6から呼び出した場合問題なく動きました。
同様にExcel2000のVBEditorにて参照設定からVB6でうまくいったCOMを追加して、
これを利用するコードを書いて実行すると、「実行時エラー'2147024894(80070002)'
ファイルまたはアセンブリ名 COMTest1、またはその依存関係の1つが見つかりません
でした。」というエラーがでてしまいます。
ExcelVBAから使うためには、なにか特別な操作が必要なのでしょうか?
ご存知でしたら教えていただけるとありがたいです。よろしくお願いします。
プログラミングを教える際、とてもわかりやすくまとめてあり感謝です。
さて、VB.NET/2005/2008のテクニック目次→COMオブジェクトとの連携のページ
について質問があります。当方の環境はWindowsXP SP2, VS2005Professional(SPなし),
VB6SP5, Excel2000SR-1です。
「3.VB6から.NETのアセンブリを呼び出す」に習ってVB2005でCOMクラスを使った
クラスライブラリをビルドして、VB6から呼び出した場合問題なく動きました。
同様にExcel2000のVBEditorにて参照設定からVB6でうまくいったCOMを追加して、
これを利用するコードを書いて実行すると、「実行時エラー'2147024894(80070002)'
ファイルまたはアセンブリ名 COMTest1、またはその依存関係の1つが見つかりません
でした。」というエラーがでてしまいます。
ExcelVBAから使うためには、なにか特別な操作が必要なのでしょうか?
ご存知でしたら教えていただけるとありがたいです。よろしくお願いします。
過去ログをみたつもりでしたが・・・既出の質問に丁寧に返信頂きありがとう
ございます(汗) バグなのか故意なのかよくわかりませんが・・
そのままで動かないとなると、なかなか初心者にはお勧めできる内容
ではなさそうですね。
Excelから自作プログラムをコントロールできると何かと便利なことが
できそうだし、初心者の目をひいてプログラミングの裾野をひろげるのに
一役買えそうな内容だけに残念です。
教えていただいた、下記リンクの記事
http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/8e33f7c0-86b5-4449-8259-aee7f010fc7b
の中にあった、nielsvanvliet氏のMonday, March 19, 2007 6:18 PMの
記事に「Excel Add-ins and COM」へのリンクがありました。
http://nielsvanvliet.com/excel.html#Patch
その中の「Add-In: Apply the Fix (Patch) 908002」の項で
http://support.microsoft.com/kb/908002
のリンクがあり、ここからパッチをダウンロードしてあてたところ
Excel2000VBAから利用できるようになりました!ご参考になれば。
これで全てが解決しているのかどうかはクエスチョンですけど
また何か分かったら書き込みたいと思います。
ありがとうございました。
# http://rucio.groupsite.jp/commu/ThreadDetail.aspx?ThreadId=9141
# 中の・・ regasm /uだと確かに参照設定の一覧からは消えてくれないですね。
# ・・もなかなか初心者には厳しい話ですねえ・・