パラメーターを受け取る Microsoft Excel マクロを呼び出す方法

概要

Automation を使用すると、Microsoft Excel を操作できます。 Microsoft Excel アプリケーション オブジェクトの Run メソッドを使用して、Microsoft Excel ブックに格納されているマクロ プロシージャを呼び出す場合があります。 パラメーターを受け取る Microsoft Excel マクロ プロシージャでは、構文が若干変更されます。 Visual Basic から Microsoft Excel マクロ プロシージャを呼び出す方法を示すコード サンプルを次に示します。

詳細情報

ステップ バイ ステップの例

  1. Visual Basic で新しいプロジェクトを開始します。 Form1 は既定で作成されます。

  2. Form1 に CommandButton を配置します。

  3. Form1 の [全般宣言] セクションで、次のコードを入力します。

          Option Explicit
    
    Private Sub Command1_Click()
           Dim oExcelApp As Object
    
    ' Create a reference to the currently running excel application
           Set oExcelApp = GetObject(, "Excel.application")
           ' Make the Excel Application Visible.
           oExcelApp.Visible = True
           ' Run the excel procedure
           oExcelApp.run "proc", "David", 30
          End Sub
    
  4. Microsoft Excel を起動します。 Book1 は既定で作成されます。

  5. ブックに新しいモジュールを追加します。

    Excel 5.0 および 7.0 の場合: [挿入] メニューの [マクロ] を選択し、[モジュール オプション] を選択します。 これにより、新しいモジュール シート Module1 が提供されます。

    Excel 97 以降の場合: Alt キーを押しながら F11 キーを押して Visual Basic エディターを起動します。 [挿入] メニューの [モジュール] をクリックします。

  6. Module1 で、次のコードを入力します。

    Sub Proc(sParam1 As String, iParam2 As Integer)
            MsgBox sParam1 & " is " & iParam2 & " Years Old"
          End Sub
    
  7. ブックは Microsoft Excel で開いたままにして、Visual Basic でプロジェクトに切り替えます。

  8. Visual Basic で F5 キーを押してプロジェクトを実行します。 コマンド ボタンをクリックすると、ダイアログ ボックスに "David is 30 old" というテキストが表示されます。

関連情報

Visual Basic を使用して Excel を自動化する方法の詳細については、次を参照してください。

219151 Visual Basic から Microsoft Excel を自動化する方法