- ベストアンサー
me.caption
http://oshiete1.goo.ne.jp/kotaeru.php3?q=492261 ラベルを表示したり非表示にしたりしたい の質問をしたものなんですが、なぜ me だとダメなんでしょうか このme は自分(?)を指すのではないのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まだ起きてたので、さっきのアドバイスの延長を実例で詳しく書きます。 新規フォームを作成 Label1とメニュー[mnuTest]を作成 以下のコードを、VBに直接コピペしないで、タイプしてみたら少しはつかめるかな? ~[Meなし]バージョン~ Private Sub mnuTest_Click() Label1.Visible = Not Label1.Visible If Label1.Visible Then mnuTest.Caption = "非表示にする" Else mnuTest.Caption = "表示する" End If End Sub ~[Meあり]バージョン~ Private Sub mnuTest_Click() Me.Label1.Visible = Not Me.Label1.Visible If Me.Label1.Visible Then Me.mnuTest.Caption = "非表示にする" Else Me.mnuTest.Caption = "表示する" End If End Sub ~[MeありWith利用]バージョン~ 'ここの掲示板はピリオドが見づらいので、メモ帳などにコピペして、ピリオドの位置を確認しながらタイプしてください。 Private Sub mnuTest_Click() With Me .Label1.Visible = Not .Label1.Visible If .Label1.Visible Then .mnuTest.Caption = "非表示にする" Else .mnuTest.Caption = "表示する" End If End With End Sub
その他の回答 (1)
- TAGOSAKU7
- ベストアンサー率65% (276/422)
Meはこの場合、フォーム自身を返します。 Me.(Meとピリオド) をモジュール内で書くと、フォームのメソッド、プロパティが出る以外に、フォームにLabel1が存在しているなら、Label1が入力候補として出ます。 ※Label1のキャプションを変える方法 Me.Label1.Caption ="hoge" Label1.Caption ="hoge" ※フォームのキャプションを変える方法 Me.Caption ="hoge" Caption ="hoge" Meは省略可能です。 上の二つの例は、フォームモジュールに書いたときだけ有効です。 標準モジュールは、実体を持たないので、Meとやっても指す示す実体を持っていません。 参考までに・・・ クラスでも使用します。派生されたクラスでオブジェクトで、クラスオブジェクト自身が自分のことを指すときも使います。
お礼
ご回答ありがとうございました。
お礼
ご回答ありがとうございました。