即効テクニック

ファイル操作・他アプリケーションとの連携

Excelを起動する(オートメーション)

(Access )
● 概要 ●
Excelを起動して、新規ブックを開きます。


● サンプル1 ●
Sub sample1()

    Dim myExcel As Object
    Set myExcel = CreateObject("Excel.Application")

    myExcel.Visible = True
    myExcel.workbooks.Add
    
    Set myExcel = Nothing

End Sub

このように、VBAで他のアプリケーションのオブジェクトを操作することを「オートメーション」といいます。

● サンプル2 ●
サンプル2のように記述しても、同じ結果が得られます。サンプル2を動作させるには、事前に[ツール(T)]→[参照設定(R)]より「Microsoft Excel 10.0 Object Library」(Excel2002の場合)または「Microsoft Excel 9.0 Object Library」(Excel2000の場合)を組み込む必要があります。

Sub sample2()

    Dim myExcel As Excel.Application
    Set myExcel = New Excel.Application

    myExcel.Visible = True

    '以下、ExcelVBAのコードを使用して、Excelの機能を使うことができる
    '例
    myExcel.workbooks.Add
    myExcel.range("a1") = "test"

    Set myExcel = Nothing

End Sub


● 補足 ●
Shell関数では、アプリケーションの起動のみが可能ですが、オートメーションの場合は、起動したアプリケーションのオブジェクトを操作することが可能となります。