Ta vadnica VBA zajema, kako shranite datoteko z ukazi Shrani in Shrani kot v VBA.
Shrani delovni zvezek - VBA
Ukaz VBA Save shrani Excelovo datoteko, podobno kot pri kliku ikone Save ali uporabi bližnjice Save (CTRL + S).
Shranite določen delovni zvezek
Če želite shraniti delovni zvezek, se obrnite na predmet delovnega zvezka in uporabite ukaz Shrani.
1 | Delovni zvezki ("savefile.xlsm"). Shrani |
Shranite aktivni delovni zvezek
Opomba: To je trenutni aktivni delovni zvezek iz z v kodi VBA, ki se razlikuje od ThisWorkbook, ki vsebuje tekočo kodo.
Shranite delovni zvezek, kjer je shranjena koda
Shranite vse odprte delovne zvezke
S tem boste prebrali vse odprte delovne zvezke in shranili vsakega.
12345 | Dim wb kot delovni zvezekZa vsako wb v aplikaciji. Delovni zvezkiwb.ShraniNaslednja wb |
Shranite vse odprte delovne zvezke, ki niso bili odprti samo za branje
Opomba: odpiranje delovnega zvezka v načinu ReadOnly preprečuje shranjevanje datoteke.
Če želite shraniti datoteko, morate uporabiti Shrani kot in datoteko z drugim imenom.
1234567 | Dim wb kot delovni zvezekZa vsako wb v aplikaciji. Delovni zvezkiČe ne wb ReadOnly potemwb.ShraniKonec, čeNaslednja wb |
Shranite delovni zvezek, ki ga definira spremenljivka
To bo shranilo delovni zvezek, ki je bil dodeljen spremenljivki predmeta delovnega zvezka.
1234 | Dim wb kot delovni zvezekset wb = delovni zvezki ("savefile.xlsm")wb.save |
Shranite delovni zvezek, definiran s spremenljivko niza
To bo shranilo delovni zvezek, katerega ime je bilo shranjeno v spremenljivko niza.
1234 | Zatemni wbstring kot nizwbstring = "savefile.xlsm"delovni zvezki (wbstring) .save |
Shranite delovni zvezek, določen v vrstnem redu, v katerem je bil odprt.
Opomba: Prvi odprti delovni zvezek bi imel 1, drugi 2 itd.
1 | delovni zvezki (1). shranite |
Shranite delovni zvezek na podlagi vrednosti celice
To bo shranilo delovni zvezek, katerega ime je v vrednosti celice.
1234 | Zatemni wbstring kot nizwbstring = activeworkbook.sheets ("sheet1"). range ("wb_save"). vrednostdelovni zvezki (wbstring) .save |
Shrani kot - VBA
Ukaz VBA Shrani kot shrani Excelovo datoteko kot novo datoteko, podobno kliku na ikono Shrani kot ali uporabi bližnjice Shrani kot (Alt> F> A).
Zgoraj smo opredelili vse načine, kako določiti, kateri delovni zvezek shraniti. Te iste metode lahko uporabite za identifikacijo delovnih zvezkov pri uporabi Shrani kot.
Shrani kot se obnaša podobno kot Shrani, le da morate določiti tudi ime nove datoteke.
Pravzaprav ima Shrani kot veliko potencialnih spremenljivk za opredelitev:
Shrani kot sintaksa:
123 | predmet delovnega zvezka. Save Save (FileName, FileFormat, Password, WriteResPassword, _ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _AddToMru, TextCodepage, TextVisualLayout, Local) |
Celoten opis vseh argumentov SaveAs je spodaj. Za zdaj se bomo osredotočili na najpogostejše primere.
Opomba: Te argumente lahko vnesete kot niz z oklepaji ali kot definirane spremenljivke.
Primeri skladnje shrani kot:
Delovni zvezek Shrani kot - isti imenik
1 | ActiveWorkbook.SaveAs Ime datoteke: = "novo" |
ali
1 | ActiveWorkbook.SaveAs "new" |
ali
1234 | Zatemni wbstring kot nizwbstring = "novo"ActiveWorkbook.SaveAs Ime datoteke: = wbstring |
Delovni zvezek Shrani kot - nov imenik
1 | ActiveWorkbook.SaveAs Ime datoteke: = "C: \ novo" |
ali
1234 | Zatemni wbstring kot nizwbstring = "C: \ novo"ActiveWorkbook.SaveAs Ime datoteke: = wbstring = |
Delovni zvezek Shrani kot - Nov imenik, podajte razširitev datoteke
1 | ActiveWorkbook.SaveAs Ime datoteke: = "C: \ new.xlsx" |
ali
1234 | Zatemni wbstring kot nizwbstring = "C: \ new.xlsx"ActiveWorkbook.SaveAs Ime datoteke: = wbstring |
Delovni zvezek Shrani kot - nov imenik, podaj razširitev datoteke - nadomestna metoda
V lastnem argumentu lahko določite tudi obliko datoteke.
1234 | .xlsx = 51 '(52 za Mac).xlsm = 52 '(53 za Mac).xlsb = 50 '(51 za Mac).xls = 56 '(57 za Mac) |
1 | ActiveWorkbook.SaveAs Ime datoteke: = "C: \ new", FileFormat: = 51 |
Delovni zvezek Shrani kot - dodajte geslo za odpiranje datoteke
1 | ActiveWorkbook.SaveAs Ime datoteke: = "C: \ new.xlsx", Geslo: = "geslo" |
Delovni zvezek Shrani kot - dodajte geslo za pravice pisanja
Če geslo ni pravilno vneseno, se delovni zvezek odpre kot Samo za branje
1 | ActiveWorkbook.SaveAs Ime datoteke: = "C: \ new.xlsx", WriteRes: = "geslo" |
Delovni zvezek Shrani kot - priporočljivo samo za branje
TRUE za prikaz polja s sporočilom, ki priporoča, da se datoteka odpre samo za branje.
1 | ActiveWorkbook.SaveAs Ime datoteke: = "C: \ new.xlsx", ReadOnlyRecommended: = TRUE |
Drugi primeri Shrani kot
Ustvari pogovorno okno Shrani kot
S tem se ustvari pogovorno okno Shrani kot, ki uporabnika pozove, da datoteko shrani.
Upoštevajte, da ta preprosta koda morda ni primerna v vseh primerih.
1 | Application.GetSaveAsFilename |
Ustvari pogovorno okno Shrani kot s privzetim imenom datoteke
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Ustvari pogovorno okno Shrani kot s privzetim imenom datoteke
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Ustvari in shrani nov delovni zvezek
Tako boste ustvarili nov delovni zvezek in ga takoj shranili.
123456 | Dim wb Kot delovni zvezekNastavi wb = Delovni zvezki.DodajApplication.DisplayAlerts = Napačnowb.SaveAs Ime datoteke: = ”c: \ Test1.xlsx”Application.DisplayAlerts = Res |
Onemogoči shranjevanje opozoril
Ko delate s shranjevanjem v VBA, lahko naletite na različna opozorila ali pozive pri shranjevanju. Če želite onemogočiti opozorila, dodajte to vrstico kode:
1 | Application.DisplayAlerts = Napačno |
in znova omogočite opozorila:
1 | Application.DisplayAlerts = Res |