2008年11月29日

Cellsメソッド

セルやセル範囲を指定するRangeやCellsなども、現在はプロパティですが、もともとはメソッドでした。
まだあまり調べきれていないのですが、WorkbooksやWorksheetsなどもそうだったようです。

ここで書いたように、現在、CellsやWorksheetsなどのプロパティの機能は、その種類のオブジェクトをすべて含むコレクションを取得するという(だけの)ものです。
よく解説書に出てくる「Cells(3,5)」のような形は、CellsプロパティではなくItemプロパティの機能によるもの……と書きましたが、メソッドということになると、実は話が違ってきます。

Cellsメソッドの場合、省略可能な2つの引数が、もともとメソッドの機能に含まれています。
引数を省略した場合はすべてのセル、指定した場合は単独のセルを表すRangeオブジェクトを返すわけです。
したがって、「Cells(3,5)」的な指定方法がCellsの機能によるものであるような説明も、間違ってはいないことになります。
(プロパティに変更された際、同じ形で使えるように、Rangeオブジェクトに省略可能なItemプロパティが付加されたのか、それともそれ以前からItemが使用できたのかはよくわかりませんが)

今でもVBAヘルプや解説書などでときどき目にするそういったニュアンスは、このような歴史的経緯を引きずっているから……ということなのでしょう。

ちなみに、現在でも残っているChartObjectsメソッドなどにも、省略可能な引数Indexはちゃんと用意されています。
posted by 土屋和人 at 08:56| Comment(0) | TrackBack(0) | Excel
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/23557439
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック