Excel VBA Сохранить как

Если вы часто пользуетесь Microsoft Excel, вы должны использовать в нем функцию «Сохранить как», которая позволяет сохранять открытую в настоящий момент книгу с другим именем или другим форматом (Excel Macro-enabled, CSV, PDF и т. Д.). Вы также можете сохранить файл в другой папке, используя этот метод. Однако возможно ли использовать ту же функцию под VBA? Ответ абсолютный Да! У нас также есть функция «Сохранить как» в VBA, которая помогает нам выполнять все вышеупомянутые задачи наряду с некоторыми дополнительными преимуществами (очевидно, автоматизация - одно из преимуществ). В этой статье мы рассмотрим различные примеры функции VBA SAVE AS.

Формула для функции Сохранить как в Excel VBA

Давайте посмотрим ниже формулу для функции Сохранить как в VBA.

Где,

  • FileName - имя книги, которую нужно сохранить.
  • FileFormat - формат файла, в котором файл должен быть сохранен (напр. Pdf, CSV и т. Д.)
  • Пароль - пароль для защиты рабочей книги (рабочая книга не может быть доступна без пароля)
  • WriteResPassword - Напишите пароль бронирования для книги.
  • ReadOnlyRecommended - распознает, сохранена ли книга в формате только для чтения или нет.
  • CreateBackup - определяет, создан ли файл резервной копии для книги.
  • AccessMode - распознает режим доступа к книге .
  • ConflictResolution - распознает конфликты, возникающие, когда рабочая книга является общей и используется более чем одним пользователем.
  • AddToMru - проверяет, добавлена ​​ли рабочая книга в недавно использованный файл или нет.
  • Локальный - Проверяет, сохранена ли рабочая книга с законами Excel (местный язык) или с законами VBA (США - английский).

Тише! Много аргументов, верно? Но что, если я скажу вам, все эти аргументы являются необязательными и могут быть пропущены при использовании функции VBA SAVE AS. Однако верно то, что именно эти аргументы делают VBA SaveAs более гибкой в ​​использовании функцией. «Выражение» в начале синтаксиса - не что иное, как выражение, против которого можно использовать эту функцию. Like Workbook - это выражение, с которым можно использовать SaveAs.

Примеры сохранения файла Excel с помощью функции VBA Save As

Ниже приведены различные примеры сохранения файла Excel с использованием функции VBA Save As.

Вы можете скачать этот шаблон VBA Сохранить как Excel здесь - VBA Сохранить как шаблон Excel

Пример № 1 - Как сохранить копию рабочей книги с другим именем?

Давайте посмотрим, как мы можем сохранить текущую книгу под другим именем.

Чтобы использовать функцию «Сохранить как» в Excel VBA, выполните следующие действия:

Шаг 1. Добавьте новый модуль в редактор Visual Basic (VBE). Перейдите на Вставить и затем выберите Модуль.

Шаг 2: Определите новую подпроцедуру, которая может хранить макрос.

Код:

 Sub SaveAs_Ex1 () End Sub 

Шаг 3: Определите новую переменную, которая может содержать имя, под которым будет сохранен файл.

Код:

 Sub SaveAs_Ex1 () Dim newName As String End Sub 

Шаг 4: Теперь используйте оператор присваивания, чтобы присвоить имя этой переменной, используя который текущий файл может быть сохранен как.

Код:

 Sub SaveAs_Ex1 () Dim newName As String newName = "Example1" End Sub 

Шаг 5: Теперь используйте функцию SaveAs с аргументом FileName, чтобы сохранить файл с именем «Example1».

Код:

 Sub SaveAs_Ex1 () Dim newName As String newName = "Example1" ActiveWorkbook.SaveAs Имя файла: = newName End Sub 

Шаг 6: Вот и все, теперь запустите этот код, нажав F5 или вручную, используя кнопку Run, и посмотрите вывод.

Вы можете видеть, что файл с именем « Пример1 » сохраняется в Документах .

Если бы вы могли записать, файл сохраняется как Macro-Enabled File, потому что исходный файл, на котором я использовал функцию SaveAs, это файл с Macro-Enabled. Это означает, что эта функция в VBA автоматически проверяет формат файла предыдущего файла и сохраняет его в том же формате. Также по умолчанию файл будет сохранен в Документах на этом ПК . Это местоположение по умолчанию может быть предоставлено явно во время определения имени листа.

Пример №2 - Сохранение книги с предоставленным пользователем именем

Вместо первоначального определения имени, можно ли написать код, который позволяет пользователю сохранять рабочий лист под именем по своему выбору, так же как функция Excel Save As?

Выполните следующие шаги, чтобы использовать функцию «Сохранить как» в Excel VBA.

Шаг 1: Определите новую подпроцедуру в недавно вставленном модуле, который может хранить макрос.

Код:

 Sub SaveAs_Ex2 () End Sub 

Шаг 2: Определите новую переменную, которая может содержать значение пользовательского имени.

Код:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant End Sub 

Причина, по которой эта переменная определяется как Variant, заключается в том, что этот тип данных делает соглашения об именах универсальными. Например, пользователь может добавить некоторый дополнительный специальный символ (который разрешен в соглашениях об именах) или может также добавить даты под именем файла.

Шаг 3: Теперь с помощью оператора присваивания и комбинации функций, называемой application.GetSaveAsFilename, создайте оператор, который позволит системе принять определенное пользователем имя. Посмотрите, как это было достигнуто на скриншоте ниже.

Код:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename End Sub 

Шаг 4: Используйте условный IF, чтобы убедиться, что имя, которое вводит пользователь, является действительным согласно соглашениям об именах.

Код:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename Если Spreadsheet_Name False, тогда End Sub 

Это условие проверяет, соответствует ли имя, данное пользователем для сохранения рабочего листа, правилам именования, установленным для именования файла, или нет.

Шаг 5: Запишите утверждение, которое оценивается для данного условия IF.

Код:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename Если Spreadsheet_Name False Тогда ActiveWorkbook.SaveAs Имя файла: = Spreadsheet_Name End Sub 

Этот фрагмент кода оценивается, когда условие IF выполнено. Если это так, активная рабочая книга будет сохранена под именем, определенным в переменной Spreadsheet_Name (которая будет определяться пользователем)

Шаг 6: Завершите цикл IF и запустите этот код, чтобы увидеть результат.

Код:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename Если Spreadsheet_Name False, тогда ActiveWorkbook.SaveAs Имя файла: = Spreadsheet_Name End If End End 

Шаг 7: Как только вы запустите этот код, вы получите диалоговое окно Сохранить как, которое позволит вам ввести имя по вашему выбору и сохранить файл.

Пример № 3 - Как сохранить файл в формате PDF с помощью функции Excel VBA SaveAs?

Предположим, у вас есть данные, указанные ниже в вашей таблице Excel, и вам нужно преобразовать их в PDF.

Выполните следующие шаги, чтобы преобразовать этот файл в PDF с помощью функции VBA Сохранить как:

Шаг 1: Определите новую подпроцедуру для хранения макроса.

Код:

 Sub SaveAs_PDF_Ex3 () End Sub 

Шаг 2. Теперь используйте следующий код, чтобы сохранить этот файл в формате PDF.

Код:

 Sub SaveAs_PDF_Ex3 () ActiveSheet.SaveAs Имя файла: = "Vba Save as.pdf" End Sub 

Шаг 3: Запустите этот код, и вы увидите файл PDF, созданный в разделе «Этот ПК»> «Документы».

В этом коде ActiveSheet.SaveAs позволяет сохранить файл с тем же именем. Поскольку мы добавили расширение как .pdf в конец файла, оно экспортируется в файл PDF. Вы можете увидеть изображение выше для вашей справки.

То, что нужно запомнить

  • По умолчанию местом сохранения файла, используемого в VBA SaveAs, будет Этот ПК> Документы. Тем не менее, вы можете указать каталог вручную во время определения имени файла.
  • По умолчанию файл, сохраненный с помощью VBA SaveAs, будет сохранен в том же формате, что и исходный файл. Тем не менее, он также может быть определен в соответствии с требованиями пользователя во время определения переменной.

Рекомендуемые статьи

Это руководство к VBA Сохранить как. Здесь мы обсудим, как сохранить файл с помощью функции Excel VBA Save As вместе с примером и загружаемым шаблоном Excel. Ниже приведены несколько полезных статей о Excel, связанных с VBA.

  1. VBA Exit Sub
  2. Создать электронную таблицу в Excel
  3. VBA Object
  4. Excel Автосохранение

Категория: