chanting an air of joyous bliss

普段の生活で見逃しがちな面白いことを書いていく
そんなブログです

VBAのMeオブジェクトで色々遊んでみた

2016-11-27 21:20:32 | コンピュータ・プログラミング
VBAの関数から参照できるMeオブジェクトについて興味が湧いたので色々遊んでみた
Private Sub CommandButton1_Click()
    'これはワークシート名が表示される
    MsgBox (Me.Name)
    'これはアプリケーション名(Excel)が表示される
    MsgBox (Me.Application.Name)
    'これはワークブック名が表示される
    MsgBox (Me.Application.ActiveWorkbook.Name)
    'これはシート名が表示される
    'しかし、最後の.Nameは自動補完できない。
    'VBAは配列にオブジェクトを格納するとすべてObject型になってしまうからだと思われる
    'ジェネリックがないとか、言語的には終わっている・・・・
    MsgBox (Me.Application.ActiveWorkbook.Sheets(1).Name)

    '仕方がないので、自動補完ができるように型を自前でキャストする
    Dim activeWorkSheet As worksheet
    Set activeWorkSheet = Me.Application.ActiveWorkbook.Sheets(1)
    MsgBox (activeWorkSheet.Name)
    
    'WorkSheetから取得できるCellsの型はRange型
    Dim cells As Range
    Set cells = activeWorkSheet.cells
    
    'sheets(1,1)がプロパティを自動補完できないのと同様に、cells(1,1)も自動補完できない
    'cells(1, 1)も自動補完できるように自前でキャストしたいけれど、
    'cells(1,1)の型が分からないでござる
    MsgBox (cells(1, 1).Value)
    
End Sub
結果、VBAのとほほな仕様が色々わかったでござる・・・・
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 情報セキュリティスペシャリ... | トップ | アルゴリズムの考察について »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

コンピュータ・プログラミング」カテゴリの最新記事