Šioje VBA pamokoje aprašoma, kaip įrašyti failą naudojant VBA komandas „Išsaugoti ir išsaugoti kaip“.
Išsaugoti darbo knygą - VBA
VBA išsaugojimo komanda išsaugo „Excel“ failą panašiai kaip spustelėdama išsaugojimo piktogramą arba naudodami įrašymo nuorodą (CTRL + S).
Išsaugoti nurodytą darbaknygę
Norėdami išsaugoti darbaknygę, nurodykite darbaknygės objektą ir naudokite komandą Įrašyti.
1 | Darbo knygos ("savefile.xlsm"). Išsaugoti |
Išsaugokite aktyvią darbaknygę
Pastaba: tai dabartinė aktyvi darbaknygė iš VBA kodo, kuri skiriasi nuo „ThisWorkbook“, kurioje yra veikiantis kodas.
Išsaugokite darbo knygą, kurioje saugomas kodas
Išsaugokite visas atidarytas darbaknyges
Tai atliks visas atidarytas darbaknyges ir išsaugos kiekvieną.
12345 | Pritemdyti wb kaip darbaknygęUž kiekvieną wb programoje. Darbo knygoswb. IšsaugotiKitas wb |
Išsaugokite visas atidarytas darbaknyges, kurios nebuvo atidarytos „ReadOnly“
Pastaba: atidarius darbaknygę tik skaitymo režimu, failas negali būti išsaugotas.
Norėdami išsaugoti failą, turėsite naudoti Įrašyti kaip ir išsaugoti failą kitu pavadinimu.
1234567 | Pritemdyti wb kaip darbo knygąUž kiekvieną wb programoje. Darbo knygosJei ne wb ReadOnly tadawb. IšsaugotiBaigti, jeiKitas wb |
Įrašykite darbaknygę, apibrėžtą kintamuoju
Taip bus išsaugota darbaknygė, priskirta darbaknygės objekto kintamajam.
1234 | Pritemdyti wb kaip darbaknygęnustatyti wb = darbaknyges ("savefile.xlsm")wb.save |
Išsaugokite darbaknygę, apibrėžtą eilutės kintamuoju
Taip bus išsaugota darbaknygė, kurios pavadinimas buvo išsaugotas eilutės kintamajame.
1234 | Pritemdyti wbstring kaip eilutęwbstring = "savefile.xlsm"darbo knygos (wbstring) .išsaugoti |
Išsaugokite darbo knygą, apibrėžtą atidarymo tvarka.
Pastaba: pirmoje atidarytoje darbaknygėje būtų 1, antroje - 2 ir kt.
1 | darbo knygos (1) .išsaugoti |
Išsaugokite darbaknygę pagal langelio vertę
Taip bus išsaugota darbaknygė, kurios pavadinimas randamas langelio vertėje.
1234 | Pritemdyti wbstring kaip eilutęwbstring = activeworkbook.sheets ("sheet1"). range ("wb_save"). vertėdarbaknyges (wbstring) .išsaugoti |
Išsaugoti kaip - VBA
VBA komanda Išsaugoti kaip išsaugo „Excel“ failą kaip naują failą, panašiai kaip spustelėjus piktogramą Išsaugoti kaip arba naudojant nuorodą Įrašyti kaip (Alt> F> A).
Aukščiau mes nustatėme visus būdus, kaip nurodyti, kurią darbaknygę išsaugoti. Tuos pačius metodus galite naudoti darbaknygėms identifikuoti naudodami Įrašyti kaip.
Išsaugoti kaip elgiasi panašiai kaip Įrašyti, išskyrus atvejus, kai taip pat turite nurodyti naujo failo pavadinimą.
Tiesą sakant, „Save As“ turi daug galimų kintamųjų, kuriuos galima apibrėžti:
„SaveAs“ sintaksė:
123 | darbaknygės objektas .SaveAs (FileName, FileFormat, Password, WriteResPassword, _ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _AddToMru, TextCodepage, TextVisualLayout, Local) |
Žemiau pateikiamas išsamus visų „SaveAs“ argumentų aprašymas. Kol kas mes sutelksime dėmesį į dažniausiai pasitaikančius pavyzdžius.
Pastaba: šiuos argumentus galima įvesti kaip eilutes su skliausteliais arba kaip apibrėžtus kintamuosius.
Išsaugoti kaip sintaksės pavyzdžius:
Darbaknygė Išsaugoti kaip - tas pats katalogas
1 | ActiveWorkbook.SaveAs Failo pavadinimas: = "naujas" |
arba
1 | ActiveWorkbook.SaveAs "naujas" |
arba
1234 | Pritemdyti wbstring kaip eilutęwbstring = "naujas"ActiveWorkbook.SaveAs Failo pavadinimas: = wbstring |
Darbaknygė Išsaugoti kaip - naujas katalogas
1 | ActiveWorkbook.SaveAs Failo pavadinimas: = "C: \ new" |
arba
1234 | Pritemdyti wbstring kaip eilutęwbstring = "C: \ naujas"ActiveWorkbook.SaveAs Failo pavadinimas: = wbstring = |
Darbaknygė Išsaugoti kaip - naujas katalogas, nurodykite failo plėtinį
1 | ActiveWorkbook.SaveAs Failo pavadinimas: = "C: \ new.xlsx" |
arba
1234 | Pritemdyti wbstring kaip eilutęwbstring = "C: \ new.xlsx"ActiveWorkbook.SaveAs Failo pavadinimas: = wbstring |
Darbaknygė Išsaugoti kaip - naujas katalogas, nurodyti failo plėtinį - alternatyvus metodas
Failo formatą taip pat galite nurodyti savo argumente.
1234 | .xlsx = 51 '(52 „Mac“).xlsm = 52 '(53 „Mac“).xlsb = 50 '(51 „Mac“).xls = 56 '(57 „Mac“) |
1 | ActiveWorkbook.SaveAs Failo pavadinimas: = "C: \ new", FileFormat: = 51 |
Darbo knyga Išsaugoti kaip - pridėkite slaptažodį, kad atidarytumėte failą
1 | ActiveWorkbook.SaveAs Failo pavadinimas: = "C: \ new.xlsx", Slaptažodis: = "slaptažodis" |
Darbo knyga Išsaugoti kaip - pridėkite slaptažodį rašymo privilegijoms
Jei neteikiamas teisingas slaptažodis, darbaknygė atsidaro kaip tik skaitoma
1 | ActiveWorkbook.SaveAs Failo pavadinimas: = "C: \ new.xlsx", WriteRes: = "slaptažodis" |
Darbaknygė Išsaugoti kaip - rekomenduojama tik skaityti
TRUE, kad būtų rodomas pranešimų langas, rekomenduojantis failą atidaryti tik skaitomą.
1 | ActiveWorkbook.SaveAs Failo pavadinimas: = "C: \ new.xlsx", ReadOnlyRecommended: = TRUE |
Kiti Išsaugoti kaip pavyzdžius
Sukurkite dialogo langą Išsaugoti kaip
Tai sugeneruoja dialogo langą Įrašyti kaip, raginant vartotoją išsaugoti failą.
Atminkite, kad šis paprastas kodas gali būti netinkamas visais atvejais.
1 | Application.GetSaveAsFilename |
Sukurkite dialogo langą Išsaugoti kaip numatytasis failo pavadinimas
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Sukurkite dialogo langą Išsaugoti kaip numatytasis failo pavadinimas
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Sukurti ir išsaugoti naują darbaknygę
Tai sukurs naują darbo knygą ir iškart ją išsaugos.
123456 | Dim wb Kaip darbo knygaNustatykite wb = Darbaknygės. PridėtiApplication.DisplayAlerts = Netiesawb.SaveAs Failo pavadinimas: = ”c: \ Test1.xlsx”Application.DisplayAlerts = Tiesa |
Išjungti įspėjimų išsaugojimą
Kai dirbate taupydami VBA, galite susidurti su įvairiais įspėjimais apie išsaugojimą ar raginimais. Norėdami išjungti įspėjimus, pridėkite šią kodo eilutę:
1 | Application.DisplayAlerts = Netiesa |
ir vėl įjungti įspėjimus:
1 | Application.DisplayAlerts = Tiesa |