- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELマクロでVB6.0のコードを使う方法)
EXCELマクロでVB6.0のコードを使う方法
このQ&Aのポイント
- EXCELマクロでVB6.0のコードを使う方法について説明します。OSはWin XP Home, EXCEL2002を使用し、開発ツールはVB6.0とVB.Netの両方を持っています。現在マクロを作成中であり、足りない機能をVB6.0のソースコードで補完することができることを知りました。
- VB6.0のソースコードは単体で動作し、必要な機能をすべて含んでいます。しかし、このソースコードをEXCELマクロに組み込む方法が分かりません。理解できれば自分で書き換えることができるのですが、内容が難解で実行不可能な状況です。
- EXCELマクロでVB6.0のソースコードを使用する方法についてのアドバイスをお願いします。ソースコードをエクセルマクロに取り込む方法や書き換える方法について教えていただけると幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
具体的にどのようなコマンド行でどんなエラーが出ますか? よほどのことがない限り動作すると思います。 コード全部を公開するのはできないでしょうから、問題の箇所だけでも情報を出せませんか?
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
回答No.1
> VB6.0のソースコードをもらいました。 > 単体で動かすと、自分の欲しい機能が全て含まれて いただいたのが拡張子[.bas]の状態なのでどのようにしたらVBA(VBE)に読み込めるか?ということではありませんね? いただいたコードの入力と出力のところだけ整理して、ブラックボックスとしての使用ではだめなのでしょうか。 内容を理解できないが書き換えしたい、というのであれば 地道にコマンド解読してコメント付与してそれから再構成という流れでしょうね。
質問者
補足
ご回答ありがとうございます。 はい、 >・・・どのようにしたらVBAに読み込めるか? という質問ではありません。言葉足らずですみませんでした。 ブラックボックスとしての使用でOKです。が、VB6.0のコードをそのままエクセルマクロの標準モジュールに貼り付けて、実行してもエラーとなってしまい、動いてくれない状況です。 例えばですね、VBからエクセルマクロを動かす方法はここでよく紹介されていますが、その逆でエクセルマクロからVB6.0を動かすことなんてできるものでしょうか?
お礼
bin-chanさん、 結果をご報告します。 ユーザーフォームのオブジェクト名の違いについて対策したら、きれいに動きました。 どうも、ありがとうございました。
補足
bin-chanさん、何度もありがとうございます。 >よほどのことがない限り動作すると思います。 そうなのですか? 過去に「EXCEL VBAとVB6.0のコードには互換性がない」と聞いたことがあるのですが、これは「EXCEL VBAのコードにRangeなど、EXCEL独特のものがあった場合に、そのままではVB6.0では動かない。」という意味で、その逆は「通常は動作する」ということなのでしょうか? ちなみにエラーですが、よく調べましたらVB6.0のユーザーフォームのオブジェクト名とEXCEL VBAのオブジェクト名が一致していなかったために起きているエラーのようです。名前などを一致させていけばなんとか出来そうな気がしてきました!(^^)!。 がんばってみます。