В этом руководстве по VBA рассказывается, как сохранить файл с помощью команд «Сохранить» и «Сохранить как» в VBA.
Сохранить книгу - VBA
Команда "Сохранить" в VBA сохраняет файл Excel аналогично щелчку значка "Сохранить" или использованию ярлыка "Сохранить" (CTRL + S).
Сохранить указанную книгу
Чтобы сохранить книгу, укажите ссылку на объект книги и используйте команду «Сохранить».
1 | Книги ("savefile.xlsm"). Сохранить |
Сохранить активную книгу
Примечание. Это текущая активная книга из с в коде VBA, которая отличается от ThisWorkbook, который содержит работающий код.
Сохраните книгу, где хранится код
Сохранить все открытые книги
Это будет проходить через все открытые книги, сохраняя каждую из них.
12345 | Dim wb как рабочая тетрадьДля каждого ББ в Application.Workbookswb.SaveСледующий wb |
Сохраните все открытые книги, которые не были открыты только для чтения
Примечание. Открытие книги в режиме только для чтения предотвращает сохранение файла.
Чтобы сохранить файл, вам нужно будет использовать команду «Сохранить как» и сохранить файл под другим именем.
1234567 | Dim wb как рабочая тетрадьДля каждого ББ в Application.WorkbooksЕсли не wb ReadOnly, тогдаwb.SaveКонец, еслиСледующий wb |
Сохраните книгу, определенную переменной
Это сохранит книгу, которая была назначена переменной объекта книги.
1234 | Dim wb как рабочая тетрадьустановить wb = workbooks ("savefile.xlsm")wb.save |
Сохраните книгу, определенную строковой переменной
Это сохранит книгу, имя которой было сохранено в строковой переменной.
1234 | Уменьшить wbstring как строкуwbstring = "savefile.xlsm"рабочие книги (wbstring) .save |
Сохраните книгу, определенную порядком ее открытия.
Примечание: первая открытая книга будет иметь 1, вторая 2 и т. Д.
1 | рабочие тетради (1) .save |
Сохранение книги на основе значения ячейки
Это сохранит книгу, имя которой находится в значении ячейки.
1234 | Уменьшить wbstring как строкуwbstring = activeworkbook.sheets ("sheet1"). range ("wb_save"). valueрабочие книги (wbstring) .save |
Сохранить как - VBA
Команда VBA «Сохранить как» сохраняет файл Excel как новый файл, аналогично щелчку значка «Сохранить как» или использованию ярлыка «Сохранить как» (Alt> F> A).
Выше мы определили все способы указать, какую книгу сохранять. Вы можете использовать те же самые методы для идентификации книг при использовании функции «Сохранить как».
«Сохранить как» ведет себя аналогично «Сохранить как», за исключением того, что вам также необходимо указать имя нового файла.
Фактически, функция "Сохранить как" имеет множество потенциальных переменных, которые необходимо определить:
Синтаксис SaveAs:
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 |
Сохранить книгу как - новый каталог, указать расширение файла - метод Alt
Вы также можете указать формат файла в собственном аргументе.
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: = "пароль" |
Книга «Сохранить как» - рекомендуется только для чтения
TRUE для отображения окна сообщения с рекомендацией открыть файл только для чтения.
1 | ActiveWorkbook.SaveAs Filename: = "C: \ new.xlsx", ReadOnlyRecommended: = TRUE |
Другие примеры "Сохранить как"
Диалоговое окно "Сохранить как"
Это создает диалоговое окно «Сохранить как», предлагающее пользователю сохранить файл.
Имейте в виду, что этот простой код может не подходить во всех случаях.
1 | Application.GetSaveAsFilename |
Диалоговое окно "Сохранить как" с указанным именем файла по умолчанию
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Диалоговое окно "Сохранить как" с предоставленным именем файла по умолчанию
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Создать и сохранить новую книгу
Это создаст новую книгу и сразу сохранит ее.
123456 | Dim wb As WorkbookУстановите wb = Workbooks.Add.Application.DisplayAlerts = Falsewb.SaveAs Имя файла: = ”c: \ Test1.xlsx”Application.DisplayAlerts = True |
Отключить оповещения о сохранении
Во время работы с сохранением в VBA вы можете столкнуться с различными предупреждениями или подсказками о сохранении. Чтобы отключить предупреждения, добавьте эту строку кода:
1 | Application.DisplayAlerts = False |
и для повторного включения предупреждений:
1 | Application.DisplayAlerts = True |