こんにちは。
オブジェクトを引数で渡したいのです。
クラスモジュールで、
public sub AAA(objButton As Object,objLabel As Object)
と引数にコマンドボタンとラベルのオブジェクトを受け取りたいのですが、
この「AAA」を呼ぶフォームモジュールで、
画面にcmdButtonというコマンドボタンと、
lblMessageというラベルが置かれている画面に、
Call AAA(cmdButton,lblMessage)
と書いたのですが、オブジェクト自信が引数に渡されません。
どうコーディングすればオブジェクトが渡せるのでしょうか・・。
初歩的な質問のような気がしますが、よろしくお願いします。
テストしてみましたが、そのやり方で普通に渡せます。
> Call AAA(cmdButton,lblMessage)
まさかとは思いますがこのまんまの記述じゃないですよね?
クラスモジュールなので
Call Class1.AAA(cmdButton,lblMessage)
というような記述になります。
「Class1」の部分は実際にクラスモジュールのインスタンスを作成した時のオブジェクト名になります。
すみません、クラスモジュールじゃなくて、標準モジュールでした・・。
フォームモジュールで"AAA"をCALLするところでブレイクをかけて、cmdButtonのところにカーソルを当ててみると、「False」が表示され、lblMessageのところにカーソルを当てるとlblMessageのCaptionの内容が表示されます。
これはオブジェクトを渡してる感じではないですよね・・。
途中の発言ですみませんが、
なんらかのエラーが発生するのでしょうか?
Object型はVB6の場合は、オブジェクト全般を定義するものですので
クイックヒントの内容は未定義のはずです。
ちなみに、VBA for excel だと何の以上もなくできましたけれど…
標準モジュールでも何も問題無く動きます。
実際にオブジェクトが渡されているかどうか試した上での発言でしょうか?
そのプロシージャ内でCaptionプロパティなどを変えてみてください。
ツイート | ![]() |