Hoe een werkmap openen in vba?
Om een werkmap te openen met VBA, moet u de “Workbook.Open”-methode gebruiken en het bestandspad opgeven (zorg ervoor dat u het volledige pad van de werkmap opgeeft met de extensie bestandsnaam en -type). Deze methode heeft in totaal vijftien optionele argumenten die u kunt gebruiken om verschillende bestandstypen te verwerken.
In deze zelfstudie onderzoeken we dit in detail en bekijken we een alternatieve methode die u kunt gebruiken.
Stappen om een werkmap te openen met VBA
- Gebruik het object “Werkmappen” om de code te starten.
- Typ daarna een punt (.) en selecteer de Open-methode uit de lijst.
- Geef het bestandspad op in het eerste argument en zorg ervoor dat u dit tussen dubbele aanhalingstekens plaatst.
- Voer aan het einde de code uit om de werkmap te openen.
Sub vba_open_workbook() Workbooks.Open "C:UsersDellDesktopmyFile.xlsx" End Sub
Handige links: Een macro uitvoeren – Macrorecorder – Visual Basic Editor – Handboek voor persoonlijke macro’s
Werkmap.Open-syntaxis
Nu is het tijd om naar de syntaxis te kijken van de methode die u zojuist in het bovenstaande voorbeeld hebt gebruikt. Zoals ik al zei, zijn er vijftien argumenten die je kunt gebruiken:
expression.Open (FileName, UpdateLinks, _ ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, _ Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)
Je zult niet al deze argumenten gebruiken. Maar een paar ervan zijn behoorlijk belangrijk en kunnen in de echte wereld nuttig voor je zijn.
Een met een wachtwoord beveiligde werkmap openen
Als u een met een wachtwoord beveiligde werkmap wilt openen, kunt u in dit geval het wachtwoord opgeven met het wachtwoordargument.
Hier heb ik een werkmap op het bureaublad met het wachtwoord “test123” en nu wil ik deze tegelijkertijd openen en de beveiliging opheffen. Hier is de code die ik moet gebruiken.
Workbooks.Open "C:UsersDellDesktopmyFile.xlsx", , , Password:="test123"
Open een alleen-lezen werkmap
Wanneer u een alleen-lezen-werkmap opent, kunt u geen wijzigingen aanbrengen in dezelfde werkmap, maar moet u er wel een kopie van opslaan.
Workbooks.Open "C:UsersDellDesktopFolder1.xlsx", , True
Open alle werkmappen in een map
Sub vba_open_multiple_workbooks_folder() Dim wb As Workbook Dim strFolder As String Dim strFile As String strFolder = "C:UsersDellDesktopFolder" strFile = Dir(strFolder & "*.xls*") Do While strFile <> "" Set wb = Workbooks.Open(strFolder & strFile) strFile = Dir Loop End Sub
Om het volgens uw vereisten te gebruiken, moet u het mappad wijzigen.
Dialoogvenster Werkmapbestand openen
Sub vba_open_dialog() Dim strFile As String strFile = Application.GetOpenFilename() Workbooks.Open (strFile) End Sub