Excel VBA Spara som

Om du ofta använder Microsoft Excel måste du använda funktionen Spara som under den, som gör att du kan spara den nu öppnade arbetsboken med ett annat namn eller annat format (Excel-makroaktiverad, CSV, PDF, etc.). Du kan också spara filen i en annan mapp med den här metoden. Men är det möjligt att använda samma funktion under VBA? Svaret är ett absolut ja! Vi har Save As-funktion under VBA också som hjälper oss att utföra alla dessa ovan nämnda uppgifter tillsammans med några extra fördelar (uppenbarligen automatisering av saker är en av fördelarna). I den här artikeln kommer vi att titta på olika exempel för funktionen VBA SPARA.

Formel för Save As-funktion i Excel VBA

Låt oss titta nedanför formeln för Save As-funktion i VBA.

Var,

  • FileName - Namnet på den arbetsbok som ska sparas.
  • FileFormat - Filformat där filen måste sparas (Ex. Pdf, CSV, etc.)
  • Lösenord - Lösenord för att skydda arbetsboken (arbetsboken kan inte vara tillgänglig utan lösenord)
  • WritResPassword - Skriv reservlösenord för arbetsboken.
  • ReadOnlyRecommended - Erkänner huruvida arbetsboken är sparad i Read-Only-format eller inte.
  • CreateBackup - Bestämmer om en säkerhetskopieringsfil för arbetsboken skapas eller inte.
  • AccessMode - Känner igen åtkomstläget för arbetsboken.
  • ConflictResolution - känner igen de konflikter som dyker upp när arbetsboken delas och används av mer än en användare.
  • AddToMru - Kontrollerar om arbetsboken läggs till under en nyligen använt fil eller inte.
  • Lokal - Kontrollerar om arbetsboken är sparad med lagarna i Excel (lokalt språk) eller med VBA-lagar (USA - engelska).

Tysta ner! Många argument rätt? Men om jag säger er, alla dessa argument är valfria och kan hoppas över när du använder VBA SAVE AS-funktionen. Det är dock sant att det är dessa argument som gör VBA SaveAs mer flexibel att använda. ”Uttryck” i början av syntaxen är inget annat än ett uttryck som denna funktion kan användas mot. Liksom Arbetsbok är uttrycket som SaveAs kan användas mot.

Exempel på att spara Excel-fil med hjälp av VBA Save As-funktion

Nedan följer de olika exemplen för att spara Excel-fil med funktionen VBA Save As.

Du kan ladda ner denna VBA Spara som Excel-mall här - VBA Spara som Excel-mall

Exempel 1 - Hur kan jag spara en kopia av arbetsboken med ett annat namn?

Låt oss se hur vi kan spara den aktuella arbetsboken med ett annat namn.

Följ stegen nedan för att använda Spara som funktion i Excel VBA:

Steg 1: Lägg till en ny modul under Visual Basic Editor (VBE). Gå till Infoga och välj sedan Modul.

Steg 2: Definiera en ny delprocedur som kan lagra ett makro.

Koda:

 Sub SaveAs_Ex1 () Slut Sub 

Steg 3: Definiera en ny variabel som kan innehålla namnet med vilken filen som ska sparas som.

Koda:

 Sub SaveAs_Ex1 () Dim newName As String End Sub 

Steg 4: Använd nu tilldelningsoperatören för att tilldela ett namn till denna variabel med vilken aktuell fil som kan sparas som.

Koda:

 Sub SaveAs_Ex1 () Dim newName As String newName = "Exempel1" Slut Sub 

Steg 5: Använd nu SaveAs-funktionen med FileName-argumentet för att spara filen som med namnet “Exempel 1”.

Koda:

 Sub SaveAs_Ex1 () Dim newName As String newName = "Exempel1" ActiveWorkbook.SaveAs Filename: = newName End Sub 

Steg 6: Det här är det, kör nu den här koden genom att slå F5 eller manuellt med knappen Kör och se utgången.

Du kan se att en fil med namnet “ Exempel 1 ” sparas i Dokument .

Om du kunde ha noterat, sparas filen som makroaktiverad fil, eftersom den ursprungliga filen som jag har använt SaveAs-funktionen är en fil med makroaktiverad. Det betyder att den här funktionen i VBA automatiskt kontrollerar filformatet för den föregående filen och sparar den i samma format. Som standard kommer filen också att sparas i Dokument under den här datorn . Denna standardplats kan tillhandahållas uttryckligen vid tidpunkten för att definiera arknamn.

Exempel 2 - Spara arbetsbok med användarnamn

I stället för att definiera namn från början, är det möjligt att skriva en kod som gör det möjligt för en användare att spara kalkylbladet med det namn han väljer samma som Excel Save As-funktion?

Följ stegen nedan för att använda Spara som funktion i Excel VBA.

Steg 1: Definiera en ny delprocedur under den nyinförda modulen som kan lagra makroen.

Koda:

 Sub SaveAs_Ex2 () Slut Sub 

Steg 2: Definiera en ny variabel som kan innehålla värdet på det användardefinierade namnet.

Koda:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name Som Variant End Sub 

Anledningen till att denna variabel definieras som Variant är att denna datatyp gör Namnkonventioner mångsidiga. Till exempel kan en användare lägga till något extra specialtecken (som är tillåtet i namngivningskonventioner) eller kan också lägga till datum under filnamnet.

Steg 3: Nu, med hjälp av en uppdragsoperatör och funktionskombination som kallas applikation.GetSaveAsFilename, gör ett uttalande som låter systemet ta ett användardefinierat namn. Se hur det har uppnåtts i skärmdumpen nedan.

Koda:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name Som Variant Spreadsheet_Name = Application.GetSaveAsFilename End Sub 

Steg 4: Använd villkorad IF för att se till att namnet som användaren anger är giltigt enligt namnskonventionerna.

Koda:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name Som Variant Spreadsheet_Name = Application.GetSaveAsFilename Om Spreadsheet_Name False Sedan Avsluta Sub 

Detta villkor kontrollerar om namnet som användaren har gett för att spara kalkylbladet tillfredsställer de namngivande konventionerna för att namnge en fil eller inte.

Steg 5: Skriv ner ett uttalande som utvärderas för det givna IF-tillståndet.

Koda:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name Som Variant Spreadsheet_Name = Application.GetSaveAsFilename Om Spreadsheet_Name False Sedan ActiveWorkbook.SaveAs Filnamn: = Spreadsheet_Name End Sub 

Denna kodkod utvärderas när IF-villkoret är sant. Om så är fallet sparas den aktiva arbetsboken under namnet definiera i variabeln Spreadsheet_Name (Vilken kommer att vara användardefinierad)

Steg 6: Avsluta IF-slingan och kör denna kod för att se utgången.

Koda:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name Som Variant Spreadsheet_Name = Application.GetSaveAsFilename If Spreadsheet_Name False Sedan ActiveWorkbook.SaveAs Filnamn: = Spreadsheet_Name End If End Sub 

Steg 7: Så snart du kör denna kod får du dialogrutan Spara som låter dig skriva in ditt namn och spara filen.

Exempel 3 - Hur man sparar som en fil i PDF med hjälp av Excel VBA SaveAs-funktion?

Anta att du har en information som anges nedan i ditt excelblad och att du måste konvertera dem till PDF.

Följ stegen nedan för att konvertera den här filen till en PDF med hjälp av VBA Save As-funktion:

Steg 1: Definiera en ny delprocedur för att lagra ett makro.

Koda:

 Sub SaveAs_PDF_Ex3 () Slut Sub 

Steg 2: Använd nu följande kod för att spara den här filen som en PDF-fil.

Koda:

 Sub SaveAs_PDF_Ex3 () ActiveSheet.SaveAs Filename: = "Vba Save as.pdf" End Sub 

Steg 3: Kör den här koden så ser du en pdf-fil genererad under Den här datorn> Dokument.

I den här koden tillåter ActiveSheet.SaveAs filen att sparas med samma namn. Eftersom vi har lagt till tillägget som .pdf i slutet av filen exporteras det till PDF-fil. Du kan se bilden ovan för din referens.

Saker att komma ihåg

  • Spara plats som standard för filen som används under VBA SaveAs är Denna PC> Dokument. Du kan emellertid ange katalogen manuellt vid definieringen av filnamnet.
  • Som standard sparas filen som sparats med VBA SaveAs under samma format som originalfilen. Men det kan också definieras som per användarkrav vid den tidpunkt du definierar variabeln.

Rekommenderade artiklar

Detta är en guide till VBA Save As. Här diskuterar vi hur du sparar filen med hjälp av Excel VBA Save As-funktion tillsammans med ett exempel och en nedladdningsbar Excel-mall. Nedan finns några användbara excel-artiklar relaterade till VBA -

  1. VBA Exit Sub
  2. Skapa ett kalkylblad i Excel
  3. VBA-objekt
  4. Excel Autosave

Kategori: