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列」を表します。

Range("A2:D4")
Range(“A2:D4”)

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に提供する全体ではなく一部です。二重で背景色のあるオブジェクトはこれまでの内容で一度取り上げた。 

엑셀 Object Model(일부)
Excel Object Model(一部)

白い背景のオブジェクトを今すべて知る必要はありません。後で必要なときに学習して利用してもよい。今はただこんなことがあるんだというだけで見れば十分だ。

完全なオブジェクトは、Microsoft Docsサイトにpage1、page2、page3に分けてまとめられている。

上記の各画像のソースは次のURLです。


以上でExcel Object Modelについて詳しく調べた。次に、Excel VBAに関する参考事項について説明します。


<<関連記事一覧>>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ja日本語