まず、プログラムがさまざまなバージョンの Excel を備えたさまざまなマシンで実行されているため、LateBinding を使用する必要があることを述べたいと思います。
Excel アプリケーションのオブジェクトの作成を開始するために呼び出すことができるモジュールで Public Sub を宣言しました。
'Declare Public Excel Variable to Call from one place and easy manipulation
Public xlApp As Object
Public wb As Object
Public wb2 As Object
Public ws As Object
Public ws2 As Object
Public Sub InitializeExcel()
'Create the Excel Objects
Set xlApp = CreateObject("Excel.Application")
End Sub
そして、Excel アプリケーションを使用して作成するすべてのサブルーチンで、InitializeExcelを呼び出し、すべての最後で次のことを行います。
On Error Resume Next
xlApp.Quit
Set xlApp = Nothing
Set wb = Nothing
Set wb2 = Nothing
Set ws = Nothing
Set ws2 = Nothing
私の質問はこれです:
Excel アプリケーションを必要とするすべてのサブルーチンでInitializeExcelを呼び出す必要がありますか?それとも、アプリケーションの開始時に 1 回だけ呼び出すことができますか?