Excel VBAで使えるApplicationオブジェクトの使い方とサンプルコード

Applicationオブジェクトは、VBAで作成されたExcelやAccessなどのOfficeアプリケーションを制御するためのオブジェクトです。このオブジェクトを使うことで、プログラムからアプリケーション内のオブジェクトにアクセスしたり、アプリケーションの設定を変更したりすることができます。

例えば、ExcelのApplicationオブジェクトを使って、Excelファイルを開いたり、セルに値を書き込んだりすることができます。また、アプリケーションの設定を変更することもできます。例えば、スクロールバーのスピードを変更したり、自動保存の頻度を変更したりすることができます。

Applicationオブジェクトのプロパティやメソッドを使うことで、アプリケーション内のオブジェクトにアクセスしたり、アプリケーションの設定を変更することができます。例えば、ExcelのApplicationオブジェクトには以下のようなプロパティやメソッドがあります。

  • Workbooks:現在開いているワークブックのコレクションを取得します。
  • ActiveWorkbook:現在アクティブなワークブックを取得します。
  • Worksheets:現在アクティブなワークブック内のワークシートのコレクションを取得します。
  • ActiveSheet:現在アクティブなワークシートを取得します。
  • Quit:アプリケーションを終了します。

以上のように、Applicationオブジェクトは、VBAで作成されたOfficeアプリケーションを制御するための重要なオブジェクトです。これらのプロパティやメソッドを使うことで、アプリケーション内のオブジェクトにアクセスしたり、アプリケーションの設定を変更したりすることができます。

サンプルコード

新しいワークブックを作成する

このコードは、新しいワークブックを作成して、保存します。
Applicationオブジェクトは、Workbooksプロパティを持ち、Workbooksオブジェクトは、Addメソッドを持ちます。
したがって、Application.Workbooks.Addは、新しいワークブックを作成するために使用されるWorkbooksオブジェクトのAddメソッドを呼び出します。

セルに値を書き込む

このコードは、現在アクティブなワークシートのA1セルに「Hello, world!」という値を書き込みます。

このコードには、Applicationオブジェクトは直接使用されていませんが、ActiveSheetオブジェクトは、ApplicationオブジェクトのActiveSheetプロパティの値です。
ActiveSheetは、現在アクティブなシートを表します。したがって、このコードは、アクティブなシートのA1セルに値を書き込むために、ActiveSheetオブジェクトのRangeプロパティとValueプロパティを使用しています。

アプリケーションの設定を変更する

このコードは、Excelの計算方法を手動に設定し、アラートメッセージを非表示に設定します。

Calculationプロパティは、Excelで計算される方法を設定します。xlCalculationManualを設定することで、手動で計算するようになります。したがって、このコードは、Excelの自動計算を無効にするためにCalculationプロパティを使用しています。

DisplayAlertsプロパティは、Excelがアラートメッセージを表示するかどうかを決定します。Falseを設定することで、Excelが自動的に処理できる問題があってもアラートを表示しないようにします。したがって、このコードは、Excelがアラートメッセージを表示しないようにするためにDisplayAlertsプロパティを使用しています。

アプリケーションを終了する

このコードは、Excelを終了します。

よく使われるプロパティ、メソッド

Applicationオブジェクトには、Excelアプリケーションを制御するための多くのプロパティやメソッドがあります。以下は、よく使われるものです。

プロパティ:

  • ActiveCell: 現在アクティブなセルを表します。
  • ActiveChart: 現在アクティブなグラフを表します。
  • ActiveSheet: 現在アクティブなシートを表します。
  • ActiveWorkbook: 現在アクティブなワークブックを表します。
  • Calculation: Excelで計算される方法を設定します。
  • DisplayAlerts: アラートメッセージを表示するかどうかを決定します。
  • ScreenUpdating: 画面の更新を制御するために使用されます。

メソッド:

  • Quit: Excelアプリケーションを終了します。
  • Run: マクロや関数を実行します。
  • Range: ワークシート上のセルや範囲を表すオブジェクトを取得します。
  • Worksheets: ワークシートオブジェクトを作成したり、ワークシートのコレクションを取得します。
  • Workbooks: ワークブックオブジェクトを作成したり、ワークブックのコレクションを取得します。

コメント