Applicationオブジェクトは、VBAで作成されたExcelやAccessなどのOfficeアプリケーションを制御するためのオブジェクトです。このオブジェクトを使うことで、プログラムからアプリケーション内のオブジェクトにアクセスしたり、アプリケーションの設定を変更したりすることができます。
例えば、ExcelのApplicationオブジェクトを使って、Excelファイルを開いたり、セルに値を書き込んだりすることができます。また、アプリケーションの設定を変更することもできます。例えば、スクロールバーのスピードを変更したり、自動保存の頻度を変更したりすることができます。
Applicationオブジェクトのプロパティやメソッドを使うことで、アプリケーション内のオブジェクトにアクセスしたり、アプリケーションの設定を変更することができます。例えば、ExcelのApplicationオブジェクトには以下のようなプロパティやメソッドがあります。
- Workbooks:現在開いているワークブックのコレクションを取得します。
- ActiveWorkbook:現在アクティブなワークブックを取得します。
- Worksheets:現在アクティブなワークブック内のワークシートのコレクションを取得します。
- ActiveSheet:現在アクティブなワークシートを取得します。
- Quit:アプリケーションを終了します。
以上のように、Applicationオブジェクトは、VBAで作成されたOfficeアプリケーションを制御するための重要なオブジェクトです。これらのプロパティやメソッドを使うことで、アプリケーション内のオブジェクトにアクセスしたり、アプリケーションの設定を変更したりすることができます。
サンプルコード
新しいワークブックを作成する
1 2 3 4 5 |
Sub createNewWorkbook() Dim wb As Workbook Set wb = Application.Workbooks.Add wb.SaveAs "newWorkbook.xlsx" End Sub |
このコードは、新しいワークブックを作成して、保存します。Application
オブジェクトは、Workbooks
プロパティを持ち、Workbooks
オブジェクトは、Add
メソッドを持ちます。
したがって、Application.Workbooks.Add
は、新しいワークブックを作成するために使用されるWorkbooks
オブジェクトのAdd
メソッドを呼び出します。
セルに値を書き込む
1 2 3 |
Sub writeCellValue() ActiveSheet.Range("A1").Value = "Hello, world!" End Sub |
このコードは、現在アクティブなワークシートのA1セルに「Hello, world!」という値を書き込みます。
このコードには、Application
オブジェクトは直接使用されていませんが、ActiveSheet
オブジェクトは、Application
オブジェクトのActiveSheet
プロパティの値です。ActiveSheet
は、現在アクティブなシートを表します。したがって、このコードは、アクティブなシートのA1セルに値を書き込むために、ActiveSheet
オブジェクトのRange
プロパティとValue
プロパティを使用しています。
アプリケーションの設定を変更する
1 2 3 4 |
Sub changeApplicationSettings() Application.Calculation = xlCalculationManual Application.DisplayAlerts = False End Sub |
このコードは、Excelの計算方法を手動に設定し、アラートメッセージを非表示に設定します。
Calculation
プロパティは、Excelで計算される方法を設定します。xlCalculationManual
を設定することで、手動で計算するようになります。したがって、このコードは、Excelの自動計算を無効にするためにCalculation
プロパティを使用しています。
DisplayAlerts
プロパティは、Excelがアラートメッセージを表示するかどうかを決定します。False
を設定することで、Excelが自動的に処理できる問題があってもアラートを表示しないようにします。したがって、このコードは、Excelがアラートメッセージを表示しないようにするためにDisplayAlerts
プロパティを使用しています。
アプリケーションを終了する
1 2 3 |
Sub closeApplication() Application.Quit End Sub |
このコードは、Excelを終了します。
よく使われるプロパティ、メソッド
Application
オブジェクトには、Excelアプリケーションを制御するための多くのプロパティやメソッドがあります。以下は、よく使われるものです。
プロパティ:
ActiveCell
: 現在アクティブなセルを表します。ActiveChart
: 現在アクティブなグラフを表します。ActiveSheet
: 現在アクティブなシートを表します。ActiveWorkbook
: 現在アクティブなワークブックを表します。Calculation
: Excelで計算される方法を設定します。DisplayAlerts
: アラートメッセージを表示するかどうかを決定します。ScreenUpdating
: 画面の更新を制御するために使用されます。
メソッド:
Quit
: Excelアプリケーションを終了します。Run
: マクロや関数を実行します。Range
: ワークシート上のセルや範囲を表すオブジェクトを取得します。Worksheets
: ワークシートオブジェクトを作成したり、ワークシートのコレクションを取得します。Workbooks
: ワークブックオブジェクトを作成したり、ワークブックのコレクションを取得します。
コメント