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.
Lagre arbeidsboken der koden er lagret
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 |