Come chiamare macro di Microsoft Excel che accettano parametri

Riepilogo

Con Automazione è possibile modificare Microsoft Excel. È possibile chiamare macro routine archiviate in Cartelle di lavoro di Microsoft Excel utilizzando il metodo Run dell'oggetto Application di Microsoft Excel. Le macro procedure di Microsoft Excel che accettano parametri causano una leggera modifica della sintassi. Di seguito è riportato un esempio di codice che illustra come chiamare una macro routine di Microsoft Excel da Visual Basic.

Ulteriori informazioni

Esempio dettagliato

  1. Avviare un nuovo progetto in Visual Basic. Form1 viene creato per impostazione predefinita.

  2. Posizionare un controllo CommandButton in Form1.

  3. Nella sezione Dichiarazioni generali di Form1 immettere il codice seguente:

          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. Avviare Microsoft Excel. Book1 viene creato per impostazione predefinita.

  5. Aggiungere un nuovo modulo alla cartella di lavoro.

    Per Excel 5.0 e 7.0: scegliere Macro dal menu Inserisci e selezionare l'opzione Modulo. In questo modo verrà visualizzato un nuovo foglio modulo, Module1.

    Per Excel 97 e versioni successive: premere ALT+F11 per avviare Visual Basic Editor. Fare clic su Modulo nel menu Inserisci.

  6. In Module1 digitare il codice seguente:

    Sub Proc(sParam1 As String, iParam2 As Integer)
            MsgBox sParam1 & " is " & iParam2 & " Years Old"
          End Sub
    
  7. Lasciare aperta la cartella di lavoro in Microsoft Excel e passare al progetto in Visual Basic.

  8. In Visual Basic premere F5 per eseguire il progetto. Fare clic sul pulsante di comando e verrà visualizzata una finestra di dialogo con il testo "David is 30 years old" (Davide ha 30 anni).

Riferimenti

Per altre informazioni sull'uso di Visual Basic per automatizzare Excel, vedere quanto segue:

219151 Come automatizzare Microsoft Excel da Visual Basic