● 概要 ●
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関数では、アプリケーションの起動のみが可能ですが、オートメーションの場合は、起動したアプリケーションのオブジェクトを操作することが可能となります。