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.
Spara arbetsboken där koden lagras
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 |