Excel VBAコース(3):Excel Object Model

2.3。エクセルオブジェクトモデル

Excel VBAは、Excelを扱うプログラミング言語です。もう少し正確には、ExcelのObject Modelを扱う言語です。エクセルがどのように構造化されているかを知っておくとうまく対処できます。

下の図1枚だけを理解すると、Excel Object Modelで最も重要でよく使われる概念はすべて分かる。

엑셀 Object Model 필수 개념
Excel Object Model 必須コンセプト

上図のExcelは2010バージョンです。 Excel Object Modelの概念を理解するのに適していると思い、Excel 2010バージョンで説明します。 Excelのバージョンに関係なく、Object Modelの概念は同じです。

この図の一枚に、Excel Object Modelの必須概念がすべて含まれている。各オブジェクトの概念と詳細を見てみましょう。

参考までに、VBAエディタで「View> Object Browse」を実行すると、各オブジェクトの詳細属性(property)、関数(function)、プロシージャ(sub)、イベント(event)を確認することができます。

개체 찾아보기 메뉴
オブジェクト参照メニュー

(VBAエディタは開発ツールリボンメニューの「Visual Basic」ボタンをクリックするか、ショートカット Alt + F11 を押すと表示されます。)

2.3.1.アプリケーション

ApplicationはExcel processを指します。実行されているExcelを制御または終了するには、Applicationオブジェクトを使用します。

개체 찾아보기: Application
オブジェクトの参照: Application

Applicationオブジェクトの詳細については、以下のMicrosoftの記事を参照してください。

アプリケーションオブジェクト(Excel)| Microsoft Docs

Applicationオブジェクトを使用するサンプルコードは次のとおりです。

'Application 사용 코드 #1: 파일 활성화 하기
Application.Windows("book1.xls").Activate

'Application 사용 코드 #2: 엑셀 종료하기
Application.Quit()

2.3.2。 Workbooks

1つのExcel processで開いているファイルのリストを管理します。新しいファイルを作成したり、ファイルを開いたり閉じたりするなどの用途に利用する。ファイルリストから特定のファイルにアクセスするときは、Workbooks(1)、Workbooks(2)、… 、Workbooks(n)でアクセスできます。

개체 찾아보기: Workbooks
オブジェクトの参照: Workbooks

Workbooks オブジェクトの詳細については、以下の Microsoft の資料を参照してください。

ワークブックオブジェクト(Excel)| Microsoft Docs

Workbooksオブジェクトを使用するサンプルコードは次のとおりです。

'Workbooks 사용 코드 #1: 모든 파일 닫기
Workbooks.Close

'Workbooks 사용 코드 #2: 새로운 파일 생성하기
Workbooks.Add

'Workbooks 사용 코드 #3: 파일 열기
Workbooks.Open FileName:="File.xlsx", ReadOnly:=True

2.3.3。ワークブック

1つのExcel processで開いているファイルのリストのうち、特定のファイルを1つ指します。ファイルを閉じたり、保存するなどの用途に利用する。

개체 찾아보기: Workbook
オブジェクトの参照: Workbook

Workbook オブジェクトの詳細については、次のマイクロソフトの資料を参照してください。

ワークブックオブジェクト(Excel)| Microsoft Docs

Workbookオブジェクトを使用するサンプルコードは次のとおりです。

'Workbook 사용 코드 #1: 파일 닫기
Workbook.Close

'Workbooks 사용 코드 #2: 저장하기
Workbook.Save

'Workbooks 사용 코드 #3: 다른 이름으로 저장하기
Workbook.SaveAs Filename:="NewFile.xlsx"

2.3.4。ワークシート

1つのファイル内のシートのリストを管理します。新しいシートを作成したり、削除するなどの用途に利用する。

개체 찾아보기: Worksheets
オブジェクトの参照: Worksheets

Worksheets オブジェクトの詳細については、次のマイクロソフトの資料を参照してください。

ワークシートオブジェクト(Excel)| Microsoft Docs

Worksheetsオブジェクトを使用するサンプルコードは次のとおりです。

'Worksheets 사용 코드 #1: 첫번째 시트 앞에 2개 시트 추가
Worksheets.Add Count:=2, Before:=Sheets(1)

'Worksheets 사용 코드 #2: 시트 개수 출력
Debug.Print Worksheets.Count

'Worksheets 사용 코드 #3: Sheet3 뒤에 Sheet1 복사
Worksheets("Sheet1").Copy After:=Worksheets("Sheet3")

2.3.5。ワークシート

1ファイル内のシート1つを指します。シートをアクティブにしたり、削除したり、非表示にしたり、表示したりするために使用します。

개체 찾아보기: Worksheet
オブジェクトの参照: Worksheet

Worksheet オブジェクトの詳細については、次のマイクロソフトの資料を参照してください。

ワークシートオブジェクト(Excel)| Microsoft Docs

Worksheetオブジェクトを使用するサンプルコードは次のとおりです。

'Worksheet 사용 코드 #1: 시트 활성화
Worksheets("Sheet1").Activate

'Worksheet 사용 코드 #2: 시트 삭제
Worksheets("Sheet1").Delete

'Worksheet 사용 코드 #3: 시트 숨기기
Worksheets(1).Visible = False

'Worksheet 사용 코드 #4: 시트 보이기
Worksheets(1).Visible = True

2.3.6。 Range

1シート内の1つのセルまたは複数のセルを指します。セルに値を入力したり、削除したり、セルをマージするなどの目的で使用します。 Excel VBAでコーディングするときに最もよく使われるオブジェクトです。

개체 찾아보기: Range
オブジェクトの参照: Range

Range オブジェクトの詳細については、次のマイクロソフトの資料を参照してください。

範囲オブジェクト(Excel)| Microsoft Docs

Rangeオブジェクトを使用するサンプルコードは次のとおりです。

'Range 사용 코드 #1: A1 cell의 값을 A5에 입력
Worksheets("Sheet1").Range("A5").Value = _ 
​​​​Worksheets("Sheet1").Range("A1").Value

'Range 사용 코드 #2: A1:E10 영역의 내용 삭제
Worksheets(1).Range("A1:E10").ClearContents

'Range 사용 코드 #3: A2(2행, 1열)에 B1:B5 합계 수식 입력
Worksheets(1).Range("A2").Formula = "=Sum(B1:B5)"
Worksheets(1).Cells(2, 1).Formula = "=Sum(B1:B5)"

'Range 사용 코드 #4: 5행 삭제하기
Worksheets(1).Rows(5).Delete

'Range 사용 코드 #5: 3열(C) 삭제하기
Worksheets(1).Columns("C").Delete
Worksheets(1).Columns(3).Delete

'Range 사용 코드 #6: A1:A2 cell 병합
Worksheets(1).Range("A1:A2").Merge

これまで見てきたExcel Object Modelの階層構造と概念、用途を簡単にまとめると次のようになる。

엑셀 Object Model 계층 구조
Excel Object Model階層

以上でExcel Object Modelについて簡単に調べた。オブジェクトブラウズ機能で詳しく見ると、マウスとキーボードで実行できるExcelのすべての機能とプロパティ、イベントがObject Modelで提供されることがわかります。したがって、Excelの機能をよく理解し、十分に活用している限り、Excel Object Modelをうまく活用できます。エクセルを活用するだけにエクセルVBAを活用できるという意味だ。

次に、Excel Object Modelのオブジェクトを使用するサンプルコードを見て、Excel Object Modelについてもう少し詳しく説明します。


<<関連記事一覧>>

コメントを残す

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

ja日本語