VBA Spara fil - 20 enkla exempel - Exempel på VBA -kod

Denna VBA -handledning täcker hur du sparar en fil med kommandona Spara och Spara som i VBA.

Spara arbetsbok - VBA

Kommandot VBA Spara sparar en Excel -fil på samma sätt som att klicka på Spara -ikonen eller med hjälp av Spara genväg (CTRL + S).

Spara en specifik arbetsbok

Om du vill spara en arbetsbok refererar du till arbetsbokobjektet och använder kommandot Spara.

1 Arbetsböcker ("savefile.xlsm"). Spara

Spara den aktiva arbetsboken

Obs! Detta är den aktuella aktiva arbetsboken från med i VBA -koden, som skiljer sig från ThisWorkbook som innehåller den löpande koden.

1 ActiveWorkbook.Save

Spara arbetsboken där koden lagras

1 ThisWorkbook.save

Spara alla öppna arbetsböcker

Detta går igenom alla öppna arbetsböcker och sparar var och en.

12345 Dim wb som arbetsbokFör varje wb i Application.Workbookswb.SparaNästa wb

Spara alla öppna arbetsböcker som inte öppnades ReadOnly

Obs! Om du öppnar en arbetsbok i läget ReadOnly kan filen inte sparas.
För att spara filen måste du använda Spara som och spara filen med ett annat namn.

1234567 Dim wb som arbetsbokFör varje wb i Application.WorkbooksOm inte wb ReadOnly dåwb.SparaAvsluta omNästa wb

Spara en arbetsbok definierad av en variabel

Detta sparar en arbetsbok som tilldelades en arbetsbokobjektvariabel.

1234 Dim wb som arbetsbokställ in wb = arbetsböcker ("savefile.xlsm")wb.spara

Spara en arbetsbok definierad av en strängvariabel

Detta sparar en arbetsbok som har namnet sparats i en strängvariabel.

1234 Dim wbstring som strängwbstring = "savefile.xlsm"arbetsböcker (wbstring) .spara

Spara en arbetsbok definierad av den ordning den öppnades.

Obs! Den första arbetsboken som öppnades skulle ha 1, den andra 2, etc.

1 arbetsböcker (1) .spara

Spara en arbetsbok baserat på ett cellvärde

Detta sparar en arbetsbok med namnet som finns i ett cellvärde.

1234 Dim wbstring som strängwbstring = activeworkbook.sheets ("sheet1"). intervall ("wb_save"). värdearbetsböcker (wbstring) .spara

Spara som - VBA

Kommandot VBA Spara som sparar en Excel -fil som en ny fil, ungefär som att klicka på ikonen Spara som eller använda genvägen Spara som (Alt> F> A).
Ovan har vi identifierat alla sätt att ange vilken arbetsbok som ska sparas. Du kan använda exakt samma metoder för att identifiera arbetsböcker när du använder Spara som.

Spara som fungerar på samma sätt som Spara, förutom att du också måste ange namnet på den nya filen.
Faktum är att Spara som har många potentiella variabler att definiera:

Spara som syntax:

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

En fullständig beskrivning av alla SaveAs -argument ingår nedan. För tillfället kommer vi att fokusera på de vanligaste exemplen.
Obs! Dessa argument kan anges som sträng med parentes eller som definierade variabler.

Spara som syntaxexempel:

Arbetsbok Spara som - Samma katalog

1 ActiveWorkbook.SaveAs Filnamn: = "nytt"

eller

1 ActiveWorkbook.Save Som "ny"

eller

1234 Dim wbstring som strängwbstring = "ny"ActiveWorkbook.SaveAs filnamn: = wbstring

Arbetsbok Spara som - Ny katalog

1 ActiveWorkbook.SaveAs filnamn: = "C: \ new"

eller

1234 Dim wbstring som strängwbstring = "C: \ new"ActiveWorkbook.SaveAs filnamn: = wbstring =

Arbetsbok Spara som - Ny katalog, Ange filtillägg

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

eller

1234 Dim wbstring som strängwbstring = "C: \ new.xlsx"ActiveWorkbook.SaveAs filnamn: = wbstring

Arbetsbok Spara som - Ny katalog, Ange filtillägg - Alt -metod

Du kan också ange filformatet i sitt eget argument.

1234 .xlsx = 51 '(52 för Mac).xlsm = 52 '(53 för Mac).xlsb = 50 '(51 för Mac).xls = 56 '(57 för Mac)
1 ActiveWorkbook.SaveAs Filnamn: = "C: \ new", FileFormat: = 51

Arbetsbok Spara som - Lägg till lösenord för att öppna filen

1 ActiveWorkbook.SaveAs filnamn: = "C: \ new.xlsx", lösenord: = "lösenord"

Arbetsbok Spara som - Lägg till lösenord för skrivrättigheter

Om rätt lösenord inte tillhandahålls öppnas arbetsboken som skrivskyddad

1 ActiveWorkbook.SaveAs filnamn: = "C: \ new.xlsx", WriteRes: = "lösenord"

Arbetsbok Spara som - Skrivskyddad rekommenderas

SANT att visa en meddelanderuta och rekommenderar att filen öppnas skrivskyddad.

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

Andra Spara som exempel

Skapa dialogrutan Spara som

Detta genererar dialogrutan Spara som, vilket uppmanar användaren att spara filen.
Tänk på att denna enkla kod kanske inte är lämplig i alla fall.

1 Application.GetSaveAsFilename

Skapa dialogrutan Spara som med standardfilnamn

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

Skapa dialogrutan Spara som med standardfilnamn

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

Skapa och spara ny arbetsbok

Detta skapar en ny arbetsbok och sparar den omedelbart.

123456 Dim wb Som arbetsbokAnge wb = Workbooks.AddApplication.DisplayAlerts = Falsktwb.SaveAs filnamn: = ”c: \ Test1.xlsx”Application.DisplayAlerts = True

Inaktivera Spara varningar

När du arbetar med att spara i VBA kan du stöta på olika Sparvarningar eller Prompts. Lägg till denna kodrad för att inaktivera varningar:

1 Application.DisplayAlerts = Falskt

och för återkommande varningar:

1 Application.DisplayAlerts = True
wave wave wave wave wave