Microsoft Excel-macro's aanroepen die parameters aannemen

Samenvatting

Met Automation kunt u Microsoft Excel bewerken. Het is mogelijk om macroprocedures aan te roepen die zijn opgeslagen in Microsoft Excel-werkmappen met behulp van de methode Uitvoeren van het Microsoft Excel-toepassingsobject. Microsoft Excel-macroprocedures die parameters aannemen, veroorzaken een kleine wijziging in de syntaxis. Hieronder ziet u een codevoorbeeld dat laat zien hoe u een Microsoft Excel-macroprocedure aanroept vanuit Visual Basic.

Meer informatie

Stapsgewijze voorbeeld

  1. Start een nieuw project in Visual Basic. Form1 wordt standaard gemaakt.

  2. Plaats een CommandButton op Form1.

  3. Voer in de sectie Algemene declaraties van Formulier1 de volgende code in:

          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. Start Microsoft Excel. Boek1 wordt standaard gemaakt.

  5. Voeg een nieuwe module toe aan de werkmap.

    Voor Excel 5.0 en 7.0: Kies Macro in het menu Invoegen en selecteer de moduleoptie. Hiermee krijgt u een nieuw moduleblad, Module1.

    Voor Excel 97 en hoger: Druk op Alt+F11 om Visual Basic Editor te starten. Klik op Module in het menu Invoegen.

  6. Typ in Module1 de volgende code:

    Sub Proc(sParam1 As String, iParam2 As Integer)
            MsgBox sParam1 & " is " & iParam2 & " Years Old"
          End Sub
    
  7. Laat de werkmap geopend in Microsoft Excel en schakel over naar uw project in Visual Basic.

  8. Druk in Visual Basic op F5 om het project uit te voeren. Klik op de opdrachtknop en er wordt een dialoogvenster weergegeven met de tekst 'David is 30 jaar oud'.

Verwijzingen

Zie het volgende voor meer informatie over het gebruik van Visual Basic om Excel te automatiseren:

219151 Microsoft Excel automatiseren vanuit Visual Basic