2023/03/28

Notes - Excel 連携:#3)セルのアクセス

前回は、ワークシートオブジェクトを取得する方法をまとめました。今回のテーマは、ワークシートのセルにアクセスして、値を操作する方法です。

セルにアクセスする方法は複数あります。例えば、

oSheet.Cells(2, 3).Value = "出直し!! ドミノ塾"
 
oSheet.Range("C2").Value = "出直し!! ドミノ塾"

という感じです(oSheet は、前回からの流れで、Worksheet オブジェクトが入っている前提です)。実行すると、どちらも以下のような結果になります。


Cells プロパティ

このプロパティはワークシート内のセルを表すオブジェクトです。Cells 単独で使用するとワークシート内のすべてのセルの集合を表します。特定のセルを指定するのが、上記サンプルです。セルの位置(行, 列)を数値で指定でき、単独のセルを表します。

Worksheet.Cells プロパティ (Excel)

このプロパティの戻り値は、Range オブジェクトで、1つ以上のセルのブロックを表します。上記サンプルでは、1つのセルをだけを表すオブジェクトとなります。


Range プロパティ

プロパティ名称の通り、Range オブジェクトにアクセスします。上記サンプルの通り、Range プロパティではセルの位置の指定は A1 スタイルとなります。

Worksheet.Range プロパティ (Excel)

また、Range プロパティでは、"C2:C5" のように記述すると2つのセルの範囲を指定をすることができます。例えば、

oSheet.Range("C2:C5").Value = "出直し!! ドミノ塾"

を実行すると、

のように複数のセルにまとめて値をセットできます。


Range オブジェクト

Cells プロパティ、Range プロパティとも、Range オブジェクトを返します。この Range オブジェクトがセルに対してアクセスするインターフェースとなります。

Range オブジェクト (Excel)

このオブジェクトに上記サンプルで使用した Value プロパティがあり、値をセットできます。また、セルに対するプロパティなので、Font や数式を表す Fomula などがあります。メソッドとしては、値をクリア(Clear)したり、クリップボード経由でコピー(Copy)などが存在します。

Range オブジェクトは、Notes - Excel 連係において頻繁に登場するので、中心的なオブジェクトといえます。プロパティやメソッドを一通り確認しておくと良いかと思います。

前回に倣って、オブジェクトを関連図で表すと、以下のようになります。


前回 Notes - Excel 連携 次回

0 件のコメント:

コメントを投稿