Ez a VBA bemutató ismerteti a fájl mentésének módját a VBA Mentés és mentés másként parancsaival.
Munkafüzet mentése - VBA
A VBA Mentés parancs hasonlóan menti az Excel fájlt, mint a Mentés ikonra kattintva vagy a Mentés parancsikon használatával (CTRL + S).
Mentse el a megadott munkafüzetet
A munkafüzet mentéséhez hivatkozzon a munkafüzet objektumára, és használja a Mentés parancsot.
1 | Munkafüzetek ("savefile.xlsm"). Mentés |
Mentse az aktív munkafüzetet
Megjegyzés: Ez az aktuális aktív munkafüzet a VBA -kódból, amely eltér a futó kódot tartalmazó ThisWorkbook -tól.
Mentse el a munkafüzetet, ahol a kód tárolódik
Mentse az összes nyitott munkafüzetet
Ez végigmegy az összes nyitott munkafüzeten, és mindegyiket elmenti.
12345 | Dim wb munkafüzetkéntMinden wb -ben az alkalmazásban. Munkafüzetekwb. MentésKövetkező wb |
Mentse el az összes nyitott munkafüzetet, amelyet nem nyitott meg ReadOnly
Megjegyzés: a munkafüzet ReadOnly módban történő megnyitása megakadályozza a fájl mentését.
A fájl mentéséhez a Mentés másként parancsot kell használnia, és más néven kell mentenie a fájlt.
1234567 | Dim wb munkafüzetkéntMinden wb -ben az alkalmazásban. MunkafüzetekHa nem wb ReadOnly akkorwb. MentésVége, haKövetkező wb |
Mentse el a változó által meghatározott munkafüzetet
Ez elmenti a munkafüzet objektumváltozóhoz rendelt munkafüzetet.
1234 | Dim wb munkafüzetkéntset wb = munkafüzetek ("savefile.xlsm")wb.save |
Mentse el a karakterlánc -változóval meghatározott munkafüzetet
Ezzel elmentheti a munkafüzetet, amelynek nevét egy string változóba mentette.
1234 | Dim wbstring karakterlánckéntwbstring = "savefile.xlsm"munkafüzetek (wbstring) .mentés |
Mentse a megnyitott sorrendben meghatározott munkafüzetet.
Megjegyzés: Az első megnyitott munkafüzet 1, a második 2 stb.
1 | munkafüzetek (1) .mentés |
Mentse el a munkafüzetet cellaérték alapján
Ezzel elmenti a munkafüzetet, amelynek neve megtalálható a cellaértékben.
1234 | Dim wbstring karakterlánckéntwbstring = activeworkbook.sheets ("sheet1"). range ("wb_save"). értékmunkafüzetek (wbstring) .mentés |
Mentés másként - VBA
A VBA Mentés másként parancs új fájlként menti az Excel fájlt, hasonlóan a Mentés másként ikonra vagy a Mentés másként parancsikonhoz (Alt> F> A).
Fent azonosítottuk a menteni kívánt munkafüzet megadásának minden módját. Pontosan ugyanezekkel a módszerekkel azonosíthatja a munkafüzeteket a Mentés másként használatakor.
A Mentés másként a Mentéshez hasonlóan működik, kivéve, ha meg kell adnia az új fájl nevét is.
Valójában a Mentés másként számos lehetséges változót definiálhat:
SaveAs szintaxisa:
123 | munkafüzet objektum .SaveAs (Fájlnév, Fájlformátum, Jelszó, WriteResPassword, _ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _AddToMru, TextCodepage, TextVisualLayout, Local) |
Az összes SaveAs argumentum teljes leírása az alábbiakban található. Most a leggyakoribb példákra összpontosítunk.
Megjegyzés: Ezeket az argumentumokat zárójelben szereplő karakterláncként vagy definiált változóként lehet megadni.
Példák mentésre szintaxisként:
Munkafüzet Mentés másként - Ugyanaz a könyvtár
1 | ActiveWorkbook.SaveAs Fájlnév: = "new" |
vagy
1 | ActiveWorkbook.SaveAs "new" |
vagy
1234 | Dim wbstring karakterlánckéntwbstring = "új"ActiveWorkbook.SaveAs Fájlnév: = wbstring |
Munkafüzet Mentés másként - Új könyvtár
1 | ActiveWorkbook.SaveAs Fájlnév: = "C: \ new" |
vagy
1234 | Dim wbstring karakterlánckéntwbstring = "C: \ új"ActiveWorkbook.SaveAs Fájlnév: = wbstring = |
Munkafüzet Mentés másként - Új könyvtár, fájlkiterjesztés megadása
1 | ActiveWorkbook.SaveAs Fájlnév: = "C: \ new.xlsx" |
vagy
1234 | Dim wbstring karakterlánckéntwbstring = "C: \ new.xlsx"ActiveWorkbook.SaveAs Fájlnév: = wbstring |
Munkafüzet Mentés másként - Új könyvtár, Fájlbővítmény megadása - Alt módszer
A fájlformátumot saját argumentumában is megadhatja.
1234 | .xlsx = 51 '(52 Mac esetén).xlsm = 52 '(53 Mac esetén).xlsb = 50 '(51 Mac esetén).xls = 56 '(57 Mac esetén) |
1 | ActiveWorkbook.SaveAs Fájlnév: = "C: \ new", FileFormat: = 51 |
Munkafüzet Mentés másként - Jelszó hozzáadása a fájl megnyitásához
1 | ActiveWorkbook.SaveAs Fájlnév: = "C: \ new.xlsx", Jelszó: = "jelszó" |
Munkafüzet Mentés másként - Jelszó hozzáadása írási jogosultságokhoz
Ha nem adja meg a helyes jelszót, a munkafüzet csak olvashatóként nyílik meg
1 | ActiveWorkbook.SaveAs Fájlnév: = "C: \ new.xlsx", WriteRes: = "jelszó" |
A munkafüzet mentése másként - csak olvasható
IGAZ üzenetüzenet megjelenítéséhez, amely azt javasolja, hogy a fájl csak olvasható legyen.
1 | ActiveWorkbook.SaveAs Fájlnév: = "C: \ new.xlsx", ReadOnlyRecommended: = TRUE |
Egyéb Mentés másként
Mentés másként párbeszédpanel létrehozása
Ez létrehozza a Mentés másként párbeszédpanelt, és felszólítja a felhasználót a fájl mentésére.
Ne feledje, hogy ez az egyszerű kód nem minden esetben megfelelő.
1 | Application.GetSaveAsFilename |
Mentés másként párbeszédpanel létrehozása alapértelmezett fájlnévvel
1 | Application.GetSaveAsFilename InitialFilename: = "teszt.xlsx" |
Mentés másként párbeszédpanel létrehozása alapértelmezett fájlnévvel
1 | Application.GetSaveAsFilename InitialFilename: = "teszt.xlsx" |
Új munkafüzet létrehozása és mentése
Ezzel új munkafüzetet hoz létre, és azonnal elmenti.
123456 | Dim wb Mint munkafüzetÁllítsa be a wb = Workbooks.AddApplication.DisplayAlerts = Hamiswb.SaveAs Fájlnév: = ”c: \ Test1.xlsx”Application.DisplayAlerts = Igaz |
A figyelmeztetések mentésének letiltása
Miközben a mentéssel dolgozik a VBA -ban, különféle mentési figyelmeztetésekkel vagy felszólításokkal találkozhat. A figyelmeztetések letiltásához adja hozzá ezt a kódsort:
1 | Application.DisplayAlerts = Hamis |
és a riasztások újbóli engedélyezéséhez:
1 | Application.DisplayAlerts = Igaz |