VBA Запазване на файл - 20 лесни примера - Примери за код на VBA

Този урок за VBA обхваща как да запишете файл с помощта на командите Запазване и Запазване като във VBA.

Запазване на работна книга - VBA

Командата VBA Save записва файл на Excel подобно на щракване върху иконата Save или използване на Save Shortcut (CTRL + S).

Запазете определена работна книга

За да запишете работна книга, направете справка с обекта на работната книга и използвайте командата Запазване.

1 Работни книги ("savefile.xlsm"). Запазване

Запазете активната работна книга

Забележка: Това е текущата активна работна книга от с във VBA кода, който е различен от ThisWorkbook, който съдържа текущия код.

1 ActiveWorkbook.Save

Запазете работната книга, където се съхранява кодът

1 ThisWorkbook.save

Запазете всички отворени работни книги

Това ще премине през всички отворени работни книги, запазвайки всяка една.

12345 Dim wb като работна книгаЗа всяка wb в Application.Workbookswb.SaveСледваща wb

Запазете всички отворени работни книги, които не са били отворени ReadOnly

Забележка: отварянето на работна книга в режим ReadOnly предотвратява запазването на файла.
За да запазите файла, ще трябва да използвате Save As и да запишете файла с различно име.

1234567 Dim wb като работна книгаЗа всяка wb в Application.WorkbooksАко не wb ReadOnly тогаваwb.SaveКрай, акоСледваща wb

Запазете работна книга, дефинирана от променлива

Това ще запише работна книга, която е присвоена на променлива на обект на работна книга.

1234 Dim wb като работна книгаset wb = работни книги ("savefile.xlsm")wb.save

Запазете работна книга, дефинирана от низова променлива

Това ще запише работна книга, чието име е записано в променлива от низ.

1234 Затъмнете wbstring като низwbstring = "savefile.xlsm"работни книги (wbstring) .запиши

Запазете работна книга, определена от реда, в който е отворена.

Забележка: Първата отворена работна книга ще има 1, втората 2 и т.н.

1 работни книги (1) .запишете

Запазете работна книга въз основа на стойност на клетката

Това ще запише работна книга, чието име се намира в стойността на клетката.

1234 Затъмнете wbstring като низwbstring = activeworkbook.sheets ("sheet1"). range ("wb_save"). стойностработни книги (wbstring) .запиши

Запазване като - VBA

Командата VBA Save As записва Excel файл като нов файл, подобно на щракване върху иконата Save As или използване на пряк път Save As (Alt> F> A).
По -горе идентифицирахме всички начини да посочите коя работна книга да запазите. Можете да използвате същите тези методи за идентифициране на работни книги, когато използвате Запазване като.

Save As се държи подобно на Save, освен че също трябва да посочите името на новия файл.
Всъщност Save As има много потенциални променливи за дефиниране:

Запазване като синтаксис:

123 обект на работна книга .SaveAs (FileName, FileFormat, Password, WriteResPassword, _ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _AddToMru, TextCodepage, TextVisualLayout, Local)

Пълно описание на всички аргументи на SaveAs е включено по -долу. Засега ще се съсредоточим върху най -често срещаните примери.
Забележка: Тези аргументи могат да бъдат въведени като низ с скоби или като дефинирани променливи.

Примери за запазване като синтаксис:

Работна книга Запазване като - Същата директория

1 ActiveWorkbook.SaveAs Име на файла: = "нов"

или

1 ActiveWorkbook.Save Като „нов“

или

1234 Затъмнете wbstring като низwbstring = "нов"ActiveWorkbook.SaveAs Име на файла: = wbstring

Работна книга Запазване като - Нова директория

1 ActiveWorkbook.SaveAs Име на файла: = "C: \ new"

или

1234 Затъмнете wbstring като низwbstring = "C: \ нов"ActiveWorkbook.SaveAs Име на файла: = wbstring =

Работна книга Запазване като - Нова директория, Посочете разширение на файла

1 ActiveWorkbook.SaveAs Име на файла: = "C: \ new.xlsx"

или

1234 Затъмнете wbstring като низwbstring = "C: \ new.xlsx"ActiveWorkbook.SaveAs Име на файла: = wbstring

Работна книга Запазване като - Нова директория, Посочете разширение на файла - Алтернативен метод

Можете също да посочите файловия формат в собствения му аргумент.

1234 .xlsx = 51 '(52 за Mac).xlsm = 52 '(53 за Mac).xlsb = 50 '(51 за Mac).xls = 56 '(57 за Mac)
1 ActiveWorkbook.SaveAs Име на файл: = "C: \ new", FileFormat: = 51

Работна книга Запазване като - Добавяне на парола за отваряне на файл

1 ActiveWorkbook.SaveAs Име на файл: = "C: \ new.xlsx", Парола: = "парола"

Работна книга Запазване като - Добавяне на парола за привилегии за запис

Ако не е предоставена правилна парола, работната книга се отваря като Само за четене

1 ActiveWorkbook.SaveAs Име на файл: = "C: \ new.xlsx", WriteRes: = "парола"

Работна книга Запазване като - Препоръчва се само за четене

ИСТИНА за показване на поле за съобщение, препоръчващо файлът да се отваря само за четене.

1 ActiveWorkbook.SaveAs Име на файл: = "C: \ new.xlsx", ReadOnlyRecommended: = TRUE

Други примери за запазване като

Създайте диалогов прозорец Запиши като

Това генерира диалоговия прозорец Запиши като, подканвайки потребителя да запише файла.
Имайте предвид, че този прост код може да не е подходящ във всички случаи.

1 Application.GetSaveAsFilename

Създайте диалогов прозорец Запиши като с предоставено име на файл по подразбиране

1 Application.GetSaveAsFilename InitialFilename: = "test.xlsx"

Създайте диалогов прозорец Запиши като с предоставено име на файл по подразбиране

1 Application.GetSaveAsFilename InitialFilename: = "test.xlsx"

Създаване и запазване на нова работна книга

Това ще създаде нова работна книга и веднага ще я запише.

123456 Dim wb Като работна книгаЗадайте wb = Работни книгиApplication.DisplayAlerts = Falsewb.SaveAs Име на файла: = ”c: \ Test1.xlsx”Application.DisplayAlerts = Вярно

Деактивирайте Запазване на сигнали

Докато работите със записване във VBA, може да срещнете различни предупреждения или подкани за запазване. За да деактивирате предупрежденията, добавете този ред код:

1 Application.DisplayAlerts = False

и за повторно активиране на сигналите:

1 Application.DisplayAlerts = Вярно
wave wave wave wave wave