Excel VBA Save As

Hvis du er en hyppig bruker av Microsoft Excel, må du ha brukt Save As-funksjonen under den, som lar deg lagre den for øyeblikket åpnede arbeidsboken med et annet navn eller annet format (Excel Macro-enabled, CSV, PDF, etc.). Du kan også lagre filen i en annen mappe ved hjelp av denne metoden. Er det imidlertid mulig å bruke den samme funksjonen under VBA? Svaret er et absolutt ja! Vi har også Save As-funksjon under VBA som hjelper oss med å utføre alle disse ovennevnte oppgaver sammen med noen ekstra fordeler (selvfølgelig er automatisering av ting en av fordelene). I denne artikkelen skal vi se på forskjellige eksempler for VBA SAVE AS-funksjon.

Formel for Save As-funksjon i Excel VBA

La oss se nedenfor formelen for Save As-funksjon i VBA.

Hvor,

  • FileName - Navn på arbeidsboken som skal lagres.
  • FileFormat - Filformat som filen må lagres i (eks. Pdf, CSV osv.)
  • Passord - Passord for å beskytte arbeidsboken (Arbeidsboken kan ikke være tilgjengelig uten passord)
  • WritResPassword - Skriv reservasjonspassord for arbeidsboken.
  • ReadOnlyRecommended - gjenkjenner om arbeidsboken er lagret i skrivebeskyttet format eller ikke.
  • CreateBackup - Bestemmer om en sikkerhetskopifil for arbeidsboken er opprettet eller ikke.
  • AccessMode - gjenkjenner tilgangsmodus for arbeidsboken.
  • ConflictResolution - gjenkjenner konfliktene som dukker opp når arbeidsboken deles og brukes av mer enn en bruker.
  • AddToMru - Sjekker om arbeidsboken er lagt til under nylig brukt fil eller ikke.
  • Lokal - Sjekker om arbeidsboka er lagret med lovene i Excel (lokalt språk) eller med VBA-lover (USA - engelsk).

Hush! Mange argumenter, ikke sant? Men hva hvis jeg forteller deg, alle disse argumentene er valgfrie og kan hoppes over mens du bruker VBA SAVE AS-funksjonen. Det er imidlertid sant at dette er argumentene som gjør VBA SaveAs mer fleksibel å bruke. “Uttrykk” i begynnelsen av syntaks er ikke annet enn et uttrykk som denne funksjonen kan brukes mot. Som arbeidsbok er uttrykket som SaveAs kan brukes mot.

Eksempler på lagring av Excel-fil ved hjelp av VBA Save As-funksjon

Nedenfor er de forskjellige eksemplene for å lagre Excel-fil ved hjelp av VBA Save As-funksjon.

Du kan laste ned denne VBA Save As Excel Mal her - VBA Save As Excel Template

Eksempel 1 - Hvordan lagre en kopi av arbeidsboken med et annet navn?

La oss se hvordan vi kan lagre den gjeldende arbeidsboken med et annet navn.

Følg trinnene nedenfor for å bruke Save As-funksjonen i Excel VBA:

Trinn 1: Legg til en ny modul under Visual Basic Editor (VBE). Gå til Sett inn og velg deretter Modul.

Trinn 2: Definer en ny delprosedyre som kan lagre en makro.

Kode:

 Sub SaveAs_Ex1 () Slutt Sub 

Trinn 3: Definer en ny variabel som kan inneholde navnet som filen skal lagres som.

Kode:

 Sub SaveAs_Ex1 () Dim newName As String End Sub 

Trinn 4: Bruk nå oppdragsoperatøren til å tilordne et navn til denne variabelen ved å bruke hvilken gjeldende fil som kan lagres som.

Kode:

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

Trinn 5: Bruk SaveAs-funksjonen med FileName-argument for å lagre filen som med navnet “Eksempel1”.

Kode:

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

Trinn 6: Dette er det, kjør nå denne koden ved å trykke på F5 eller manuelt bruke Run-knappen og se utdataene.

Du kan se at en fil med navnet “ Eksempel1 ” lagres på Dokumenter .

Hvis du kunne ha notert det, lagres filen som makroaktivert fil, fordi den originale filen som jeg har brukt SaveAs-funksjonen på er en fil med makroaktivert. Det betyr at denne funksjonen i VBA automatisk sjekker filformatet til forrige fil og lagrer den i samme format. Som standard vil filen også lagres i Dokumenter under Denne PCen . Denne standardplasseringen kan gis eksplisitt når du definerer arknavnet.

Eksempel nr. 2 - Lagre arbeidsbok med brukernavn

I stedet for å definere navn til å begynne med, er det mulig å skrive en kode som lar brukeren lagre regnearket ved navn etter eget valg som Excel Lagre som?

Følg trinnene nedenfor for å bruke Save As-funksjonen i Excel VBA.

Trinn 1: Definer en ny delprosedyre under nylig innsatt modul som kan lagre makroen.

Kode:

 Sub SaveAs_Ex2 () Slutt Sub 

Trinn 2: Definer en ny variabel som kan inneholde verdien til det brukerdefinerte navnet.

Kode:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name Som Variant End Sub 

Årsaken til at denne variabelen blir definert som Variant er, denne datatypen gjør Navnekonvensjoner allsidige. For eksempel kan en bruker legge til noe ekstra spesialtegn (som er tillatt i navnekonvensjoner) eller kan legge til datoer i tillegg til filnavnet.

Trinn 3: Nå, med hjelp av en oppdragsoperatør og funksjonskombinasjon kalt applikasjon.GetSaveAsFilename, lag en uttalelse som lar systemet ta et brukerdefinert navn. Se hvordan det er oppnådd i skjermdumpen nedenfor.

Kode:

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

Trinn 4: Bruk betinget IF for å sikre at navnet brukeren oppgir er gyldig i henhold til navnekonvensjonene.

Kode:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name Som Variant Spreadsheet_Name = Application.GetSaveAsFilename Hvis Spreadsheet_Name False Så slutt Sub 

Denne betingelsen sjekker om navnet som er gitt av brukeren for å lagre regnearket, tilfredsstiller navnekonvensjonene som er angitt for navngiving av en fil eller ikke.

Trinn 5: Skriv ned en uttalelse som blir evaluert for den gitte IF-tilstanden.

Kode:

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

Denne koden blir evaluert når IF-tilstanden er sann. I så fall blir den aktive arbeidsboken lagret under navnet definert i variabelen Spreadsheet_Name (Som vil være brukerdefinert)

Trinn 6: Avslutt IF-loopen og kjør denne koden for å se utgangen.

Kode:

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

Trinn 7: Så snart du kjører denne koden, får du Lagre som-dialogboks som lar deg skrive inn navnet du ønsker og lagre filen.

Eksempel # 3 - Hvordan lagre som en fil i PDF ved hjelp av Excel VBA SaveAs-funksjon?

Anta at du har data som gitt nedenfor i excelarket, og at du må konvertere dem til PDF.

Følg trinnene nedenfor for å konvertere denne filen til en PDF ved hjelp av VBA Save As-funksjon:

Trinn 1: Definer en ny delprosedyre for å lagre en makro.

Kode:

 Sub SaveAs_PDF_Ex3 () Slutt Sub 

Trinn 2: Nå bruker du følgende kode for å lagre denne filen som en PDF-fil.

Kode:

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

Trinn 3: Kjør denne koden, så ser du en pdf-fil generert under Denne PCen> Dokumenter.

I denne koden tillater ActiveSheet.SaveAs at filen kan lagres med samme navn. Siden vi har lagt til utvidelsen som .pdf på slutten av filen, blir den eksportert til PDF-fil. Du kan se bildet over som referanse.

Ting å huske

  • Som standard lagringssted for filen som brukes under VBA SaveAs, er denne PC> Dokumenter. Du kan imidlertid spesifisere katalogen manuelt når du definerer filnavnet.
  • Som standard vil filen som er lagret ved hjelp av VBA SaveAs, lagres under samme format som for den originale filen. Imidlertid kan det også defineres som per brukerkrav på det tidspunktet du definerer variabelen.

Anbefalte artikler

Dette er en guide til VBA Save As. Her diskuterer vi hvordan du lagrer filen ved å bruke Excel VBA Save As-funksjon sammen med et eksempel og en nedlastbar excel-mal. Nedenfor er noen nyttige excel-artikler relatert til VBA -

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

Kategori: