Denne VBA -vejledning dækker, hvordan du gemmer en fil ved hjælp af kommandoerne Gem og Gem som i VBA.
Gem projektmappe - VBA
Kommandoen VBA Gem gemmer en Excel -fil på samme måde som at klikke på ikonet Gem eller ved hjælp af Gem genvej (CTRL + S).
Gem en specificeret projektmappe
For at gemme en projektmappe skal du referere til projektmappeobjektet og bruge kommandoen Gem.
1 | Arbejdsbøger ("savefile.xlsm"). Gem |
Gem den aktive projektmappe
Bemærk: Dette er den aktuelle aktive projektmappe fra med i VBA -koden, som er forskellig fra ThisWorkbook, der indeholder den kørende kode.
Gem projektmappen, hvor koden er gemt
Gem alle åbne projektmapper
Dette vil gå gennem alle åbne projektmapper og gemme hver enkelt.
12345 | Dim wb som projektmappeFor hver wb i Application.Workbookswb. gemmeNæste wb |
Gem alle åbne projektmapper, der ikke blev åbnet ReadOnly
Bemærk: Åbning af en projektmappe i ReadOnly -tilstand forhindrer, at filen gemmes.
For at gemme filen skal du bruge Gem som og gemme filen med et andet navn.
1234567 | Dim wb som projektmappeFor hver wb i Application.WorkbooksHvis ikke wb ReadOnly derefterwb. gemmeAfslut HvisNæste wb |
Gem en projektmappe defineret af en variabel
Dette gemmer en projektmappe, der blev tildelt en projektmappeobjektvariabel.
1234 | Dim wb som projektmappesæt wb = projektmapper ("savefile.xlsm")wb.save |
Gem en projektmappe, der er defineret af en strengvariabel
Dette gemmer en projektmappe, hvis navn blev gemt i en strengvariabel.
1234 | Dim wbstring som strengwbstring = "savefile.xlsm"projektmapper (wbstring). gemme |
Gem en projektmappe defineret af den rækkefølge den blev åbnet.
Bemærk: Den første projektmappe, der blev åbnet, ville have 1, den anden 2 osv.
1 | projektmapper (1). gemme |
Gem en projektmappe baseret på en celleværdi
Dette gemmer en projektmappe, hvis navn findes i en celleværdi.
1234 | Dim wbstring som strengwbstring = activeworkbook.sheets ("ark1"). område ("wb_save"). værdiprojektmapper (wbstring). gemme |
Gem som - VBA
Kommandoen VBA Gem som gemmer en Excel -fil som en ny fil, svarende til at klikke på ikonet Gem som eller ved at bruge Gem som genvej (Alt> F> A).
Ovenstående identificerede vi alle måder at angive, hvilken projektmappe der skal gemmes. Du kan bruge de samme metoder til at identificere projektmapper, når du bruger Gem som.
Gem som opfører sig på samme måde som Gem, bortset fra at du også skal angive navnet på den nye fil.
Faktisk har Save As mange potentielle variabler at definere:
Gem som syntaks:
123 | projektmappeobjekt .SaveAs (FileName, FileFormat, Password, WriteResPassword, _ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _AddToMru, TextCodepage, TextVisualLayout, Local) |
En fuldstændig beskrivelse af alle SaveAs -argumenterne er inkluderet nedenfor. For nu vil vi fokusere på de mest almindelige eksempler.
Bemærk: Disse argumenter kan indtastes som en streng med parentes eller som definerede variabler.
Gem som syntakseksempler:
Arbejdsbog Gem som - Samme bibliotek
1 | ActiveWorkbook.SaveAs Filnavn: = "nyt" |
eller
1 | ActiveWorkbook.SaveAs "ny" |
eller
1234 | Dim wbstring som strengwbstring = "ny"ActiveWorkbook.SaveAs filnavn: = wbstring |
Arbejdsbog Gem som - Nyt bibliotek
1 | ActiveWorkbook.SaveAs Filnavn: = "C: \ new" |
eller
1234 | Dim wbstring som strengwbstring = "C: \ new"ActiveWorkbook.SaveAs filnavn: = wbstring = |
Arbejdsbog Gem som - Nyt bibliotek, Angiv filtypenavn
1 | ActiveWorkbook.SaveAs filnavn: = "C: \ new.xlsx" |
eller
1234 | Dim wbstring som strengwbstring = "C: \ new.xlsx"ActiveWorkbook.SaveAs filnavn: = wbstring |
Arbejdsbog Gem som - Nyt bibliotek, Angiv filudvidelse - Alt -metode
Du kan også angive filformatet i sit eget argument.
1234 | .xlsx = 51 '(52 til Mac).xlsm = 52 '(53 til Mac).xlsb = 50 '(51 til Mac).xls = 56 '(57 til Mac) |
1 | ActiveWorkbook.SaveAs Filnavn: = "C: \ new", FileFormat: = 51 |
Arbejdsbog Gem som - Tilføj adgangskode til Åbn fil
1 | ActiveWorkbook.SaveAs Filnavn: = "C: \ new.xlsx", Password: = "password" |
Arbejdsbog Gem som - Tilføj adgangskode til skriveprivilegier
Hvis den korrekte adgangskode ikke leveres, åbnes projektmappen som skrivebeskyttet
1 | ActiveWorkbook.SaveAs Filnavn: = "C: \ new.xlsx", WriteRes: = "password" |
Arbejdsbog Gem som - Kun skrivebeskyttet
SANDT at vise en meddelelsesboks og anbefale, at filen åbnes skrivebeskyttet.
1 | ActiveWorkbook.SaveAs filnavn: = "C: \ new.xlsx", ReadOnlyRecommended: = TRUE |
Andre Gem som eksempler
Opret Gem som dialogboks
Dette genererer dialogboksen Gem som, og beder brugeren om at gemme filen.
Husk, at denne simple kode muligvis ikke er passende i alle tilfælde.
1 | Application.GetSaveAsFilename |
Opret Gem som dialogboks med standardfilnavn
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Opret Gem som dialogboks med standardfilnavn
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Opret og gem ny arbejdsbog
Dette vil oprette en ny projektmappe og gemme den med det samme.
123456 | Dim wb Som projektmappeIndstil wb = Workbooks.AddApplication.DisplayAlerts = Falskwb.SaveAs filnavn: = ”c: \ Test1.xlsx”Application.DisplayAlerts = True |
Deaktiver gem underretninger
Når du arbejder med at gemme i VBA, kan du støde på forskellige gemte advarsler eller beskeder. For at deaktivere advarsler skal du tilføje denne kodelinje:
1 | Application.DisplayAlerts = Falsk |
og til genaktivering af advarsler:
1 | Application.DisplayAlerts = True |