#07 よくつかうオブジェクトについて
2021-02-28 00:00:00
今回はRangeオブジェクト以外のよく使うオブジェクトについて紹介したいと思います。
これまでRangeオブジェクトを使いながら、プロパティやメソッドなどについて説明しましたが、オブジェクトの操作をするということは、そのオブジェクトのプロバティを変更したり、メソッドを呼び出すということになります。
Rangeオブジェクトに関連して覚えておきたい3つのオブジェクトがあります。これらのオブジェクトの機能やよくつかうプロパティやメソッドについて説明します。
Applicationオブジェクト
起動されているExcelのプログラムに対応するオブジェクトです。このオブジェクトをつかってExcelの一般的な状態や挙動についての操作ができます。Applicationには多くのプロパティやメソッドがありますが、よく使うものの多くはオブジェクト名を省略して使用することができます。(そのためApplicationオブジェクトのプロパティやメソッドだと気づかずに使っていることも、あるのではないかと思います。)
Applicationオブジェクトのプロパティ
- Calculation 計算モードの取得、設定
- CutCopyMode 切り取り、コピーモード(点滅枠の状態)かどうか確認、解除
- DisplayAlerts 警告メッセージの表示、非表示を設定
- Selection 現在選択しているオブジェクト(セルなど)を返す
- StatusBar ステータスバーのテキストの指定(Falseで元に戻す)
- WorksheetFunction VBAからExcelの関数の呼び出しをおこなう
Applicationオブジェクトのメソッド
- Calculate 計算を行う(計算モードが手動の時)
- Quit (アプリケーションを終了する)
Workbookオブジェクト
1つのワークブック/ファイルに対応するオブジェクトです。マクロから同じファイルのWorkbookオブジェクトにはThisWorkbookという名前(実際にはApplicationオブジェクトのプロパティ)でアクセスできます。ThisWorkbookよりも下のサンプルのように他のブックを利用するときのほうが使うことが多いかもしれません。
Dim bkSample1 As Workbook Dim a1Value As Variant Set bkSample1 = Workbooks.Open("Sample1.xlsx") a1Value = bkSample1.Sheets("Sheet1").Range("A1").Value bkSample1.Close False
Worksheetオブジェクト
Worksheetのインスタンスは一つのシートに対して1つです。Sheet(“シート名”)でアクセスすることができます。
Dim val As Variant Sheets("Sheet2").Select val = Range("A1").Value
またシートには名前がつけられていて、その名前をつかってシートにアクセスすることも可能です。名前はプロパティから変更することもできます。
Dim val As Variant shtSub.Select val = Range("A1").Value
アクティブでないシートの操作やデータ取得をしたり、複数のシートのデータを扱うときにべんりです。