Vba: een werkmap openen vanuit een pad
U kunt de Workbooks.Open- methode in VBA gebruiken om een Excel-werkmap vanaf een specifiek pad te openen.
Hier is een gebruikelijke manier om deze functie in de praktijk te gebruiken:
SubOpenWorkbook ()
Dim wb As Workbook
Dim FilePath As String
FilePath = InputBox("Please Enter File Path")
Workbooks.Open FilePath
End Sub
Wanneer deze macro wordt uitgevoerd, verschijnt er een invoervak waarin een gebruiker het pad naar een specifieke Excel-werkmap kan invoeren.
De macro zal dan automatisch de werkmap in het specifieke pad vinden en deze in Excel openen.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: een werkmap openen vanuit een pad met VBA
Stel dat we een Excel-werkmap hebben met de naam my_workbook2.xlsx , die zich op de volgende locatie bevindt:
C:\Gebruikers\bob\Documenten\mijn_werkmap2.xlsx
Stel dat we VBA willen gebruiken om deze werkmap automatisch te openen.
We kunnen hiervoor de volgende macro maken:
SubOpenWorkbook ()
Dim wb As Workbook
Dim FilePath As String
FilePath = InputBox("Please Enter File Path")
Workbooks.Open FilePath
End Sub
Zodra we deze macro uitvoeren, verschijnt er een vak waarin we het pad naar de werkmap in het invoervak kunnen invoeren:
Zodra we op OK klikken, opent de macro de Excel-werkmap in het pad dat we hebben opgegeven.
Houd er rekening mee dat als u de naam van een werkmap invoert in een bestandspad dat niet bestaat, VBA een foutmelding genereert.
Stel dat we bijvoorbeeld een werkmap met de naam my_workbook3.xlsx proberen te openen, die niet bestaat.
VBA zal het volgende foutbericht produceren:
Dit laat ons weten dat het bestandspad dat we hebben opgegeven niet bestaat.
Opmerking : u kunt hier de volledige documentatie voor de Workbooks.Open- methode in VBA vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: het aantal vellen in een werkmap tellen
VBA: een werkmap opslaan en sluiten
VBA: controleer of de werkmap geopend is