Excel VBAコース(4):Excel Object Modelを扱う
この記事では、Excel Object Modelを扱う方法を見ていきます。
2.4。簡単なコードでExcel Object Modelを理解する
2.4.1.オブジェクトアクセス基本型
ファイル、シート、範囲(Range)、セル(Cell)にアクセスする最も基本的なコードを見てみましょう。参考までに、オブジェクトにアクセスするときにグローバルオブジェクトアプリケーションを省略することができます。以下の1〜6の各例の2行目には、Applicationを省略したコードで表現した。
'1. 이름이 t1.xlsx 인 파일 Application.Workbooks("t1.xlsx") Workbooks("t1.xlsx") '2. 이 파일의 Sheet1 시트 Application.Workbooks("t1.xlsx").Worksheets("Sheet1") Workbooks("t1.xlsx").Worksheets("Sheet1") '3. 이 시트의 A1 cell Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") '4. 이 시트의 A1 cell 에 "TEST" 문자열 입력 Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST" Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST" '5. 이 시트의 A1 cell 글꼴을 굵게(Bold) 설정 Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1").Font.Bold = True Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1").Font.Bold = True '6. 이 시트의 A2:D4 범위 Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4") Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4")
一つずつ詳しく見てみよう。
'1. 이름이 t1.xlsx 인 파일 Application.Workbooks("t1.xlsx") Workbooks("t1.xlsx")
▲現在、Excelで開いているファイルのうち、名前が“t1.xlsx”のファイルを指す構文である。 Workbooksは開いているファイルのリストを管理します。複数のファイルのいずれかを選択するときは、Workbooksコレクションに「ファイル名」をパラメータとしてアクセスします。 (参考として、ファイル名の他に「Workbooks(1)」のようにファイルが開いた順番をパラメータとして使用することもできる。)
'2. 이 파일의 Sheet1 시트 Application. Workbooks("t1.xlsx").Worksheets("Sheet1") Workbooks("t1.xlsx").Worksheets("Sheet1")
▲上記で指定した“t1.xlsx”ファイルの“Sheet1”シートを指す構文である。 Worksheetsは1つのファイルのシートリストを管理します。複数のシートのいずれかを選ぶときは、Worksheets collectionに「シート名」をparameterでアクセスすればよい。 (Workbooksと同様に、「Worksheets(1)」のようにシートの順番をパラメータとして使用することもできます。)
'3. 이 시트의 A1 cell Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1")
▲上記で指定した「Sheet1」シートの「A1」セルを指す構文である。
'4. 이 시트의 A1 cell 에 "TEST" 문자열 입력 Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST" Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST"
▲上記で近づいたセルに文字列値を入力するコードです。文字列、数字など、あらゆる種類の値を入力できます。
'5. 이 시트의 A1 cell 글꼴을 굵게(Bold) 설정 Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1").Font.Bold = True Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1").Font.Bold = True
▲ Range オブジェクトを利用して cell 書式を設定するコードである。フォント名、色、サイズ、背景色、セルの境界線の種類、境界線の色など、すべてのセル書式をVBAコードに設定できます。
'6. 이 시트의 A2:D4 범위 Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4") Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4")
▲ Range オブジェクトは複数の連続したセルを指すことができる。 Range(「A2:D4」)は「2行1列」〜「4行4列」を表します。
2.4.2。オブジェクトアクセスシンプル
現在のファイル、シートにアクセスするときは、次のように単純に使用できます。このコードは単純で読みやすさは高いが、実行中に現在のファイル、現在のシートが変更される場合は注意が必要である。
'1. 현재 열려있는 파일 ActiveWorkbook '2. 현재 열려있는 시트 ActiveWorksheet '3. 현재 열려있는 시트의 A1 cell Range("A1") ActiveWorksheet.Range("A1") '4. 현재 열려있는 시트의 A1 cell 에 "TEST" 라는 값 할당 Range("A1") = "TEST" '5. 현재 열려있는 시트의 시트의 A1 cell 글꼴을 굵게(Bold) 설정 Range("A1").Font.Bold = True '6. 현재 열려있는 시트의 A2:D4 범위 Range("A2:D4")
2.4.3。オブジェクトのアクセスと活用例
オブジェクトにアクセスするいくつかのケースをもっと見てみましょう。
'1. 현재 열려있는 파일들 Workbooks '2. 현재 열려있는 파일들의 수 Workbooks.Count '3. 새로운 파일 만들기 Workbooks.Add '4. 현재 파일을 C:\test.xlsx로 저장하기 ActiveWorkbook.SaveAs "C:\test.xlsx" '5. 현재 파일의 이름을 보여주기 MsgBox ActiveWorkbook.Name '6. 현재 열려있는 파일의 시트들 Worksheets '7. 현재 열려있는 파일의 시트들의 수 Worksheets.Count '8. 새로운 시트 만들기 Worksheets.Add '9. Sheet1을 삭제하기 Worksheets("Sheet1").Delete '10. 현재 시트의 이름을 보여주기 MsgBox ActiveSheet.Name '11. 현재 열려있는 시트의 A1 cell 선택 Range("A1").Select '12. 현재 열려있는 시트에서 사용된 영역을 선택 ActiveSheet.UsedRange.Select
2.5。エクセルオブジェクトモデル詳細
よく使うExcel Object Modelの階層構造は次のとおりです。この図に示されているオブジェクトは、Excel VBAに提供する全体ではなく一部です。二重で背景色のあるオブジェクトはこれまでの内容で一度取り上げた。
白い背景のオブジェクトを今すべて知る必要はありません。後で必要なときに学習して利用してもよい。今はただこんなことがあるんだというだけで見れば十分だ。
完全なオブジェクトは、Microsoft Docsサイトにpage1、page2、page3に分けてまとめられている。
上記の各画像のソースは次のURLです。
- ページ1: https://docs.microsoft.com/en-us/previous-versions/office/developer/office-xp/aa141044(v=office.10)?redirectedfrom=MSDN
- ページ2: https://docs.microsoft.com/en-us/previous-versions/office/office-10/aa189565(v=office.10)?redirectedfrom=MSDN
- ページ3: https://docs.microsoft.com/en-us/previous-versions/office/office-10/aa189566(v=office.10)?redirectedfrom=MSDN
以上でExcel Object Modelについて詳しく調べた。次に、Excel VBAに関する参考事項について説明します。
<<関連記事一覧>>
- Excel VBAコースを開始します。 (講座予告、feat.Excel VBAを推奨する理由)
- Excel VBAコース(1):Excel VBAの概要
- Excel VBAコース(2):Excel VBAの基礎
- Excel VBAコース(3):Excel Object Model
- Excel VBAコース(4):Excel Object Modelを扱う
- Excel VBAコース(5):Excelファイル拡張子、VBE、フォント設定
- Excel VBAコース(6):Excel VBA言語基本 - 変数
- Excel VBAコース(7):Excel VBA言語基本 - 文法(Syntax)
- Excel VBAコース(8):Excel VBA言語基本 - データ型(Data type)、データ構造(Data structure)
- Excel VBAコース(9):Excel VBA How-To
- Excel VBAコース(10):Excel VBAで開発され使用されているツール
- Excel VBAコース全体目次