Excel VBA Gem som

Hvis du er en hyppig bruger af Microsoft Excel, skal du have brugt funktionen Gem som under den, som giver dig mulighed for at gemme den aktuelt åbne projektmappe med et andet navn eller andet format (Excel-makroaktiveret, CSV, PDF osv.). Du kan også gemme filen i en anden mappe ved hjælp af denne metode. Er det dog muligt at bruge den samme funktion under VBA? Svaret er et absolut Ja! Vi har også Save As-funktion under VBA, som hjælper os med at udføre alle disse ovennævnte opgaver sammen med nogle ekstra fordele (selvfølgelig er automatisering af ting en af ​​fordelene). I denne artikel skal vi undersøge forskellige eksempler på VBA SAVE AS-funktion.

Formel til funktionen Gem som i Excel VBA

Lad os se nedenfor formlen for funktionen Gem som i VBA.

Hvor,

  • Filnavn - Navn på den projektmappe, der skal gemmes.
  • FileFormat - Filformat, hvor filen skal gemmes (f.eks. Pdf, CSV osv.)
  • Adgangskode - Adgangskode til beskyttelse af projektmappen (Arbejdsbogen kan ikke være tilgængelig uden en adgangskode)
  • WritResPassword - Skriv reservationskodeord til arbejdsbogen.
  • ReadOnlyRecommended - Genkender, om projektmappen er gemt i Read-Only format eller ej.
  • CreateBackup - Bestemmer, om der skal oprettes en sikkerhedskopifil til projektmappen eller ej.
  • AccessMode - Genkender adgangstilstand for projektmappen.
  • ConflictResolution - Genkender de konflikter, der pop op, når projektmappen deles og bruges af mere end en bruger.
  • AddToMru - Kontrollerer, om projektmappen er tilføjet under den nyligt anvendte fil eller ej.
  • Lokal - Kontrollerer, om projektmappen er gemt med lovene i Excel (lokalt sprog) eller med VBA-love (USA - Engelsk).

Stille! Masser af argumenter, ikke? Men hvad nu hvis jeg siger dig, alle disse argumenter er valgfri og kan springes over, mens du bruger VBA SAVE AS funktion. Det er dog rigtigt, at det er disse argumenter, der gør VBA SaveAs mere fleksibel at bruge. "Udtryk" i starten af ​​syntaks er intet andet end et udtryk, som denne funktion kan bruges imod. Ligesom Arbejdsbog er det udtryk, som SaveAs kan bruges mod.

Eksempler på gemme Excel-fil ved hjælp af VBA Save As-funktion

Nedenfor er de forskellige eksempler til at gemme Excel-fil ved hjælp af VBA Save As-funktion.

Du kan downloade denne VBA Gem som Excel-skabelon her - VBA Gem som Excel-skabelon

Eksempel nr. 1 - Sådan gemmes en kopi af projektmappen med et andet navn?

Lad os se, hvordan vi kan gemme den aktuelle projektmappe med et andet navn.

Følg nedenstående trin for at bruge Gem som funktion i Excel VBA:

Trin 1: Tilføj et nyt modul under Visual Basic Editor (VBE). Gå til Indsæt, og vælg derefter Modul.

Trin 2: Definer en ny underprocedure, der kan gemme en makro.

Kode:

 Sub SaveAs_Ex1 () End Sub 

Trin 3: Definer en ny variabel, der kan indeholde det navn, som filen skal gemmes som.

Kode:

 Sub SaveAs_Ex1 () Dim nyt navn som streng slut sub 

Trin 4: Brug nu tildelingsoperatøren til at tildele et navn til denne variabel ved hjælp af hvilken aktuel fil der kan gemmes som.

Kode:

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

Trin 5: Brug nu SaveAs-funktionen med FileName-argument for at gemme filen som med navnet “Eksempel1”.

Kode:

 Sub SaveAs_Ex1 () Dim newName As String newName = "Eksempel1" ActiveWorkbook.SaveAs Filnavn: = newName End Sub 

Trin 6: Dette er det, kør nu denne kode ved at trykke på F5 eller manuelt ved hjælp af knappen Kør og se output.

Du kan se, at en fil med navnet " Eksempel 1 " gemmes på Dokumenter .

Hvis du kunne have noteret det, gemmes filen som en makroaktiveret fil, fordi den originale fil, som jeg har brugt SaveAs-funktion på, er en fil med makroaktiveret. Det betyder, at denne funktion i VBA automatisk kontrollerer filformatet for den forrige fil og gemmer den i samme format. Som standard gemmes filen også i Dokumenter under Denne PC . Denne standardplacering kan angives eksplicit på tidspunktet for definering af arknavnet.

Eksempel nr. 2 - Gemme arbejdsbog med brugerens navn

I stedet for at definere navn oprindeligt, er det muligt at skrive en kode, der giver en bruger mulighed for at gemme regnearket ved det navn, han vælger, det samme som Excel Gem som funktion?

Følg nedenstående trin for at bruge Gem som funktion i Excel VBA.

Trin 1: Definer en ny underprocedure under det nyligt indsatte modul, der kan gemme makroen.

Kode:

 Sub SaveAs_Ex2 () End Sub 

Trin 2: Definer en ny variabel, der kan indeholde værdien af ​​det brugerdefinerede navn.

Kode:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name Som Variant End Sub 

Årsagen til, at denne variabel defineres som Variant, er, at denne datatype gør navngivningskonventionerne alsidige. For eksempel kan en bruger tilføje noget ekstra specialtegn (som er tilladt i navnekonventioner) eller kan tilføje datoer også under filnavnet.

Trin 3: Lav nu en erklæring, der giver systemet mulighed for at tage et brugerdefineret navn, ved hjælp af en tildelingsoperatør og funktionskombination kaldet applikation . GETSaveAsFilename. Se, hvordan det er opnået i skærmbilledet nedenfor.

Kode:

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

Trin 4: Brug betinget IF for at sikre dig, at navnet, brugeren indtaster, er gyldigt i henhold til navnekonventionerne.

Kode:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name Som Variant Spreadsheet_Name = Application.GetSaveAsFilename Hvis Spreadsheet_Name False Derefter afsluttes Sub 

Denne betingelse kontrollerer, om navnet, som brugeren har givet til at gemme regnearket, tilfredsstiller de navnekonventioner, der er indstillet til at navngive en fil eller ej.

Trin 5: Skriv en erklæring, der evalueres for den givne IF-tilstand.

Kode:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name Som Variant Spreadsheet_Name = Application.GetSaveAsFilename Hvis Spreadsheet_Name False Så ActiveWorkbook.SaveAs Filnavn: = Spreadsheet_Name End Sub 

Dette kodestykke evalueres, når IF-betingelsen er sand. I så fald gemmes den aktive arbejdsbog under navnet defineret i variablen Spreadsheet_Name (Hvilken vil være brugerdefineret)

Trin 6: Afslut IF-loop og kør denne kode for at se output.

Kode:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name Som Variant Spreadsheet_Name = Application.GetSaveAsFilename Hvis Spreadsheet_Name False Så ActiveWorkbook.SaveAs Filnavn: = Spreadsheet_Name End If End Sub 

Trin 7: Så snart du kører denne kode, får du dialogboksen Gem som, som giver dig mulighed for at indtaste navnet på dit valg og gemme filen.

Eksempel # 3 - Sådan gemmes som en fil i PDF ved hjælp af Excel VBA SaveAs-funktion?

Antag, at du har en data som angivet nedenfor på dit excelark, og du er nødt til at konvertere dem til PDF.

Følg nedenstående trin for at konvertere denne fil til en PDF ved hjælp af VBA Save As-funktion:

Trin 1: Definer en ny underprocedure til lagring af en makro.

Kode:

 Sub SaveAs_PDF_Ex3 () End Sub 

Trin 2: Brug nu følgende kode til at gemme denne fil som en PDF-fil.

Kode:

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

Trin 3: Kør denne kode, så ser du en pdf-fil genereret under Denne pc> Dokumenter.

I denne kode gør ActiveSheet.SaveAs det muligt at gemme filen med det samme navn. Da vi har tilføjet udvidelsen som .pdf i slutningen af ​​filen, eksporteres den til PDF-fil. Du kan se billedet ovenfor som reference.

Ting at huske

  • Den gemte placering som standard for den fil, der bruges under VBA SaveAs, er denne pc> Dokumenter. Du kan dog specificere kataloget manuelt på det tidspunkt, hvor filnavnet defineres.
  • Som standard gemmes den fil, der gemmes ved hjælp af VBA SaveAs, i det samme format som for den originale fil. Det kan dog også defineres som pr. Brugerkrav på det tidspunkt, du definerer variablen.

Anbefalede artikler

Dette er en guide til VBA Save As. Her diskuterer vi, hvordan du gemmer filen ved hjælp af Excel VBA Save As-funktion sammen med et eksempel og en downloadbar excel-skabelon. Herunder er nogle nyttige excel-artikler relateret til VBA -

  1. VBA Exit Sub
  2. Opret et regneark i Excel
  3. VBA-objekt
  4. Excel autosave

Kategori: