VBA Lagre fil - 20 enkle eksempler - VBA -kodeeksempler

Denne VBA -opplæringen dekker hvordan du lagrer en fil ved hjelp av kommandoene Lagre og lagre som i VBA.

Lagre arbeidsbok - VBA

VBA Lagre -kommandoen lagrer en Excel -fil på samme måte som å klikke på Lagre -ikonet eller ved å bruke Lagre snarvei (CTRL + S).

Lagre en spesifisert arbeidsbok

For å lagre en arbeidsbok, referer du til arbeidsbokobjektet og bruker kommandoen Lagre.

1 Arbeidsbøker ("savefile.xlsm"). Lagre

Lagre den aktive arbeidsboken

Merk: Dette er den nåværende aktive arbeidsboken fra i VBA -koden, som er forskjellig fra ThisWorkbook som inneholder kjørende kode.

1 ActiveWorkbook.Save

Lagre arbeidsboken der koden er lagret

1 ThisWorkbook.save

Lagre alle åpne arbeidsbøker

Dette vil gå gjennom alle åpne arbeidsbøker, og lagre hver enkelt.

12345 Dim wb som arbeidsbokFor hver wb I Application.Workbookswb. lagreNeste wb

Lagre alle åpne arbeidsbøker som ikke ble åpnet ReadOnly

Merk: Åpne en arbeidsbok i ReadOnly -modus forhindrer at filen lagres.
For å lagre filen må du bruke Lagre som og lagre filen med et annet navn.

1234567 Dim wb som arbeidsbokFor hver wb I Application.WorkbooksHvis ikke wb ReadOnly dawb. lagreSlutt omNeste wb

Lagre en arbeidsbok definert av en variabel

Dette vil lagre en arbeidsbok som ble tilordnet en arbeidsbokobjektvariabel.

1234 Dim wb som arbeidsboksett wb = arbeidsbøker ("savefile.xlsm")wb.save

Lagre en arbeidsbok definert av en strengvariabel

Dette vil lagre en arbeidsbok som navnet ble lagret i en strengvariabel.

1234 Dim wbstring som strengwbstring = "savefile.xlsm"arbeidsbøker (wbstring). lagre

Lagre en arbeidsbok definert av rekkefølgen den ble åpnet.

Merk: Den første arbeidsboken som ble åpnet ville ha 1, den andre 2, etc.

1 arbeidsbøker (1). lagre

Lagre en arbeidsbok basert på en celleverdi

Dette vil lagre en arbeidsbok som navnet er funnet i en celleverdi.

1234 Dim wbstring som strengwbstring = activeworkbook.sheets ("sheet1"). område ("wb_save"). verdiarbeidsbøker (wbstring). lagre

Lagre som - VBA

VBA Lagre som -kommandoen lagrer en Excel -fil som en ny fil, på samme måte som å klikke på Lagre som -ikonet eller ved å bruke Lagre som snarvei (Alt> F> A).
Ovenfor identifiserte vi alle måtene å spesifisere hvilken arbeidsbok som skal lagres. Du kan bruke de samme metodene til å identifisere arbeidsbøker når du bruker Lagre som.

Lagre som fungerer på samme måte som Lagre, bortsett fra at du også må angi navnet på den nye filen.
Faktisk har Save As mange potensielle variabler å definere:

Lagre som syntaks:

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

En fullstendig beskrivelse av alle SaveAs -argumentene er inkludert nedenfor. For nå skal vi fokusere på de vanligste eksemplene.
Merk: Disse argumentene kan angis som streng med parentes eller som definerte variabler.

Lagre som syntakseksempler:

Arbeidsbok Lagre som - Samme katalog

1 ActiveWorkbook.SaveAs filnavn: = "nytt"

eller

1 ActiveWorkbook.SaveAs "ny"

eller

1234 Dim wbstring som strengwbstring = "ny"ActiveWorkbook.SaveAs filnavn: = wbstring

Arbeidsbok Lagre som - Ny katalog

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

eller

1234 Dim wbstring som strengwbstring = "C: \ new"ActiveWorkbook.SaveAs filnavn: = wbstring =

Arbeidsbok Lagre som - Ny katalog, Angi filtypen

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

eller

1234 Dim wbstring som strengwbstring = "C: \ new.xlsx"ActiveWorkbook.SaveAs filnavn: = wbstring

Arbeidsbok Lagre som - Ny katalog, Spesifiser filutvidelse - Alt -metode

Du kan også spesifisere filformatet i sitt eget argument.

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

Arbeidsbok Lagre som - Legg til passord for å åpne filen

1 ActiveWorkbook.SaveAs filnavn: = "C: \ new.xlsx", passord: = "passord"

Arbeidsbok Lagre som - Legg til passord for skriveprivilegier

Hvis riktig passord ikke følger med, åpnes arbeidsboken som skrivebeskyttet

1 ActiveWorkbook.SaveAs filnavn: = "C: \ new.xlsx", WriteRes: = "passord"

Arbeidsbok Lagre som - Kun skrivebeskyttet

SANT å vise en meldingsboks, og anbefaler at filen åpnes skrivebeskyttet.

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

Andre lagre som eksempler

Lag dialogboksen Lagre som

Dette genererer dialogboksen Lagre som, og ber brukeren om å lagre filen.
Husk at denne enkle koden kanskje ikke er passende i alle tilfeller.

1 Application.GetSaveAsFilename

Lag dialogboksen Lagre som med standard filnavn

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

Lag dialogboksen Lagre som med standard filnavn

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

Lag og lagre ny arbeidsbok

Dette vil opprette en ny arbeidsbok og lagre den umiddelbart.

123456 Dim wb Som arbeidsbokSett wb = Workbooks.AddApplication.DisplayAlerts = Falskwb.SaveAs filnavn: = ”c: \ Test1.xlsx”Application.DisplayAlerts = True

Deaktiver lagre varsler

Når du jobber med å spare i VBA, kan du støte på forskjellige lagre advarsler eller spørsmål. For å deaktivere advarsler, legg til denne kodelinjen:

1 Application.DisplayAlerts = Falsk

og for å varsle på nytt:

1 Application.DisplayAlerts = True
wave wave wave wave wave