VBA-opslagbestand - 20 eenvoudige voorbeelden - VBA-codevoorbeelden

Deze VBA-zelfstudie behandelt hoe u een bestand kunt opslaan met de opdrachten Opslaan en Opslaan als in VBA.

Werkmap opslaan - VBA

De VBA Save-opdracht slaat een Excel-bestand op dezelfde manier op als klikken op het pictogram Opslaan of met behulp van de snelkoppeling Opslaan (CTRL + S).

Een gespecificeerde werkmap opslaan

Als u een werkmap wilt opslaan, verwijst u naar het werkmapobject en gebruikt u de opdracht Opslaan.

1 Werkmappen ("savefile.xlsm").Opslaan

Sla de actieve werkmap op

Opmerking: dit is de huidige actieve werkmap van met in de VBA-code, die verschilt van ThisWorkbook die de actieve code bevat.

1 ActiveWorkbook.Opslaan

Bewaar de werkmap waar de code is opgeslagen

1 Dit Werkboek.save

Alle geopende werkmappen opslaan

Dit doorloopt alle geopende werkmappen en slaat ze allemaal op.

12345 Dim wb als werkboekVoor elke wb In Application.Workbookswb.OpslaanVolgende wb

Bewaar alle geopende werkmappen die niet zijn geopend ReadOnly

Opmerking: als u een werkmap opent in de modus Alleen-lezen, wordt het bestand niet opgeslagen.
Om het bestand op te slaan, moet u Opslaan als gebruiken en het bestand onder een andere naam opslaan.

1234567 Dim wb als werkboekVoor elke wb In Application.WorkbooksZo niet wb Alleen-lezen danwb.OpslaanStop alsVolgende wb

Een werkmap opslaan die is gedefinieerd door een variabele

Hiermee wordt een werkmap opgeslagen die is toegewezen aan een werkmapobjectvariabele.

1234 Dim wb als werkboekset wb = werkmappen ("savefile.xlsm")wb.save

Een werkmap opslaan die is gedefinieerd door een tekenreeksvariabele

Hiermee wordt een werkmap opgeslagen waarvan de naam is opgeslagen in een tekenreeksvariabele.

1234 Dim wbstring als stringwbstring = "bestand opslaan.xlsm"werkmappen(wbstring).opslaan

Sla een werkmap op die is gedefinieerd in de volgorde waarin deze is geopend.

Opmerking: de eerste geopende werkmap heeft 1, de tweede 2, enz.

1 werkmappen(1).save

Een werkmap opslaan op basis van een celwaarde

Hiermee wordt een werkmap opgeslagen waarvan de naam in een celwaarde wordt gevonden.

1234 Dim wbstring als stringwbstring = activeworkbook.sheets("sheet1").range("wb_save").valuewerkmappen(wbstring).save

Opslaan als - VBA

De opdracht VBA Opslaan als slaat een Excel-bestand op als een nieuw bestand, vergelijkbaar met het klikken op het pictogram Opslaan als of het gebruik van de snelkoppeling Opslaan als (Alt > F > A).
Hierboven hebben we alle manieren geïdentificeerd om op te geven welke werkmap moet worden opgeslagen. U kunt exact dezelfde methoden gebruiken om werkmappen te identificeren wanneer u Opslaan als gebruikt.

Opslaan als werkt op dezelfde manier als Opslaan, behalve dat u ook de naam van het nieuwe bestand moet opgeven.
In feite heeft Opslaan als veel potentiële variabelen om te definiëren:

SaveAs-syntaxis:

123 werkmapobject .SaveAs(FileName, FileFormat, Password, WriteResPassword, _ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _AddToMru,TextCodepage, TextVisualLayout, Local)

Hieronder vindt u een volledige beschrijving van alle SaveAs-argumenten. Voor nu zullen we ons concentreren op de meest voorkomende voorbeelden.
Opmerking: deze argumenten kunnen worden ingevoerd als tekenreeks met haakjes of als gedefinieerde variabelen.

Opslaan als syntaxisvoorbeelden:

Werkmap Opslaan als - Zelfde map

1 ActiveWorkbook.SaveAs Bestandsnaam:= "nieuw"

of

1 ActiveWorkbook.OpslaanAls "nieuw"

of

1234 Dim wbstring als stringwbstring = "nieuw"ActiveWorkbook.SaveAs Bestandsnaam:= wbstring

Werkmap Opslaan als - Nieuwe map

1 ActiveWorkbook.SaveAs Bestandsnaam:= "C:\nieuw"

of

1234 Dim wbstring als stringwbstring = "C:\nieuw"ActiveWorkbook.SaveAs Bestandsnaam:= wbstring=

Werkmap Opslaan als - Nieuwe map, bestandsextensie opgeven

1 ActiveWorkbook.SaveAs Bestandsnaam:= "C:\new.xlsx"

of

1234 Dim wbstring als stringwbstring = "C:\nieuw.xlsx"ActiveWorkbook.SaveAs Bestandsnaam:= wbstring

Werkmap Opslaan als - Nieuwe map, bestandsextensie opgeven - Alt-methode

U kunt het bestandsformaat ook in zijn eigen argument specificeren.

1234 .xlsx = 51 '(52 voor Mac).xlsm = 52 '(53 voor Mac).xlsb = 50 '(51 voor Mac).xls = 56 '(57 voor Mac)
1 ActiveWorkbook.SaveAs Bestandsnaam:= "C:\nieuw", Bestandsindeling:= 51

Werkmap Opslaan als - Wachtwoord toevoegen om bestand te openen

1 ActiveWorkbook.SaveAs Bestandsnaam:= "C:\new.xlsx", Wachtwoord:= "wachtwoord"

Werkmap Opslaan als - Wachtwoord toevoegen voor schrijfrechten

Als het juiste wachtwoord niet is opgegeven, wordt de werkmap geopend als alleen-lezen

1 ActiveWorkbook.SaveAs Bestandsnaam:= "C:\new.xlsx", WriteRes:= "wachtwoord"

Werkmap Opslaan als - Alleen-lezen aanbevolen

TRUE om een ​​berichtvenster weer te geven waarin wordt aanbevolen het bestand alleen-lezen te openen.

1 ActiveWorkbook.SaveAs Bestandsnaam:= "C:\new.xlsx", ReadOnlyRecommended:= TRUE

Andere Opslaan als voorbeelden

Maken Opslaan als dialoogvenster

Dit genereert het dialoogvenster Opslaan als, waarin de gebruiker wordt gevraagd het bestand op te slaan.
Houd er rekening mee dat deze eenvoudige code mogelijk niet in alle gevallen geschikt is.

1 Application.GetSaveAsFilename

Creëer Opslaan als dialoogvenster met standaard bestandsnaam opgegeven

1 Application.GetSaveAsFilename InitialFilename:="test.xlsx"

Creëer Opslaan als dialoogvenster met standaard bestandsnaam opgegeven

1 Application.GetSaveAsFilename InitialFilename:="test.xlsx"

Nieuwe werkmap maken en opslaan

Hiermee wordt een nieuwe werkmap gemaakt en deze onmiddellijk opgeslagen.

123456 Dim wb als werkboekStel wb = Werkmappen in.ToevoegenApplication.DisplayAlerts = Falsewb.SaveAs Bestandsnaam:=”c:\Test1.xlsx”Application.DisplayAlerts = True

Opslaan van waarschuwingen uitschakelen

Terwijl u werkt met opslaan in VBA, kunt u verschillende bewaarwaarschuwingen of -prompts tegenkomen. Voeg deze regel code toe om waarschuwingen uit te schakelen:

1 Application.DisplayAlerts=False

en om waarschuwingen opnieuw in te schakelen:

1 Application.DisplayAlerts=True
wave wave wave wave wave