初心者オサムシがExcelのマクロと戦う戦闘ブログである
by オサムシ
オブジェクトとは/マクロ基礎

オブジェクトとは/マクロ基礎


ExcelのVBAに限らず、プログラミング言語を勉強すると必ず「オブジェクト」という言葉にぶつかる。

最近じゃ「オブジェクト指向」などという言葉もよく見かけるよね

オブジェクトってなんだ?

僕の理解した範囲で定義してみたい

こんな風に考えてみた

まずオブジェクトを自転車にみたてる

自転車がオブジェクトだとすると、ハンドルもオブジェクト、サドルもタイヤもオブジェクト

プロパティとはその仕様

プログラム言語では「属性」というらしい

うん。確かに使い慣れたHTMLでも属性と言うなぁ

例えば、「ハンドル」オブジェクトの形や握りの素材などを表す言葉が「属性」というわけ

「メソッド」とは操作を命令する言葉なので、自転車を「漕ぐ」とか「ブレーキ(をかける)」などがソレにあたる

また、そこに自転車が3台並んでいたら、それは自転車オブジェクトの「コレクション」というわけ。

その3台が自転車収納庫に収納されていれば、その自転車収納庫も「オブジェクト」

収納庫には「空気入れ」オブジェクトも収納されている

言い換えれば「自転車収納庫」オブジェクトは「自転車」コレクションと「空気入れ」オブジェクトで構成されている

「自転車」コレクションは3台の「自転車」オブジェクトで構成されていて、そのうちの1台は「ママチャリ」属性である

VEAでは、オブジェクトと属性を.(ドット)で結ぶ

例) 自転車.ママチャリ

オブジェクトとメソッドも.(ドット)でつなぐ

例) 自転車.ブレーキ

このへんを踏まえてExcelに当てはめてみよう

恐らく一番頻度高く使われるオブジェクトは「セル」オブジェクトだろう

「セル」オブジェクトはVBAでは

Range("A1") 'A1はセル番地

コレ基本中の基本なので覚えておこう

Excelのシートはシート番号で認識される

シートの名前で指定する事もできるが、まずはシート番号の説明

左から WorkSheets(1),WorkSheets(2),WorkSheets(3)・・・

となっていく

Excelを開いた時デフォルトで設定されているSheet1,Sheet2,Sheet3と必ずしもイコールとは限らないから気を付けて(シートを移動させなければ上のシート番号と共通しますが紐づいてはいないので)。

シートの配置を変えたりするとシート番号では不都合なので、確実なのはシートの名前で指定するのが良いね

例えば >>

WorkSheets("自転車管理表") '("シート名") シート名で指定する場合は"ダブルクォテーション"でくくる

それではオブジェクトとメソッドをつかったマクロを書いてみよう

マクロの基本SubではじまりEnd Subで終わる

Subのあとの"jitensya"は任意のマクロ名(任意と言っても付けなきゃダメ。命名ルールもある)

jitensyaの後の()は勝手に付加される
Sub jitensya()
Worksheets("自転車管理表").Activate
Range("B2").Activate
End Sub

実行してみよう

この状態から
d0285354_2383616.jpg

コレになった
d0285354_239286.jpg

自転車管理表シートがアクティブになり

次にB2セルがアクティブになった

この時、WorksheetsもRangeもオブジェクト

Activateはメソッドです

覚えたかな。オレ。osamushi

オサムシじゃーなる
[PR]
by 03musi | 2012-12-12 23:14 | マクロ 基礎
<< もくじ ~ site map ~ inputbox/マクロ基礎 >>