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

Ако сте чест потребител на Microsoft Excel, трябва да сте използвали функцията Запиши като под него, която ви позволява да запишете текущо отворената работна книга с различно име или различен формат (Excel Macro-Enabled, CSV, PDF и т.н.). Можете също да запазите файла в друга папка, използвайки този метод. Възможно ли е обаче да използвате същата функция под VBA? Отговорът е абсолютен Да! Имаме функция Save As и под VBA, което ни помага да изпълняваме всички тези горепосочени задачи заедно с някои допълнителни предимства (очевидно автоматизирането на нещата е едно от предимствата). В тази статия ще разгледаме различни примери за функцията VBA SAVE AS.

Формула за функция Save As в Excel VBA

Нека да разгледаме по-долу формулата за функция Save As във VBA.

Където,

  • FileName - Име на работната книга, която трябва да бъде запазена.
  • FileFormat - Формат на файла, в който файлът трябва да бъде записан (напр. Pdf, CSV и т.н.)
  • Парола - Парола за защита на работната книга (Работната книга не може да бъде достъпна без парола)
  • WriteResPassword - Напишете парола за резервация на работната книга.
  • ReadOnlyRecomemed - разпознава дали работната книга е запазена във формат само за четене или не.
  • CreateBackup - Определя дали е създаден резервен файл за работната книга.
  • AccessMode - Разпознава режима на достъп за работната книга.
  • ConflictResolution - разпознава конфликтите, които се появяват при споделяне на работната книга и се използват от повече от един потребител.
  • AddToMru - проверява дали работната книга е добавена под наскоро използвания файл или не.
  • Local - проверява дали работната книга е запазена със законите на Excel (местен език) или със законите на VBA (САЩ - Английски).

Hush! Много аргументи нали? Но какво да ви кажа, всички тези аргументи са незадължителни и могат да бъдат пропуснати, докато използвате VBA SAVE AS функция. Вярно е обаче, че това са аргументите, които правят VBA SaveAs по-гъвкава функция за използване. „Изразяване“ в началото на синтаксиса не е нищо друго освен израз, срещу който може да се използва тази функция. Подобно на Workbook е изразът, срещу който може да се използва SaveAs.

Примери за запазване на Excel файл с VBA Save As функция

По-долу са различните примери за запазване на excel файл с помощта на VBA Save As.

Можете да изтеглите този шаблон на VBA Save As Excel тук - VBA Save as Excel шаблон

Пример №1 - Как да запазите копие на работната книга с различно име?

Нека да видим как можем да запишем текущата работна книга с различно име.

Следвайте стъпките по-долу, за да използвате функцията Запазване като функция в Excel VBA:

Стъпка 1: Добавете нов модул под Visual Basic Editor (VBE). Отидете на Вмъкване и след това изберете Модул.

Стъпка 2: Определете нова под-процедура, която може да съхранява макрос.

Код:

 Sub SaveAs_Ex1 () End Sub 

Стъпка 3: Определете нова променлива, която може да държи името, под което файлът да бъде записан като.

Код:

 Sub SaveAs_Ex1 () Dim newName като 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 и вижте изхода.

Можете да видите, че файл с име „ Example1 “ се запазва в Документи .

Ако може да забележите, файлът се записва като файл с активиран макрос, тъй като оригиналният файл, на който съм използвал функцията SaveAs, е файл с активиран макрос. Това означава, че тази функция в VBA автоматично проверява файловия формат на предишния файл и го запазва в същия формат. Също така по подразбиране файлът ще бъде записан в Документи под този компютър . Това местоположение по подразбиране може да бъде предоставено изрично по време на определяне на името на листа.

Пример №2 - Запазване на работна книга с име, предоставено от потребителя

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

Следвайте стъпките по-долу, за да използвате Save As Function в Excel VBA.

Стъпка 1: Определете нова под-процедура под ново вмъкнат модул, който може да съхранява макроса.

Код:

 Sub SaveAs_Ex2 () End Sub 

Стъпка 2: Определете нова променлива, която може да побере стойността на дефинираното от потребителя име.

Код:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name като вариант на края Sub 

Причината тази променлива да бъде определена като Вариант е, че този тип данни прави многостранни конвенции за именуване. Например, потребителят може да добави някои допълнителни специални символи (които са позволени в конвенциите за именуване) или може да добави дати под името на файла.

Стъпка 3: Сега с помощта на оператор за присвояване и комбинация от функции, наречена application.GetSaveAsFilename, направете изявление, което позволява на системата да вземе определено от потребителя име. Вижте как е постигнато на екрана по-долу.

Код:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name като вариант Spreadsheet_Name = Application.GetSaveAsFilename End Sub 

Стъпка 4: Използвайте условен IF, за да се уверите, че името на потребителя, което въвеждате, е валидно според конвенциите за именуване.

Код:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name като вариант Spreadsheet_Name = Application.GetSaveAsFilename Ако Spreadsheet_Name False тогава End Sub 

Това условие проверява дали името, дадено от потребителя за запазване на работния лист, отговаря правилно на условията за именуване, определени за именуване на файл или не.

Стъпка 5: Напишете изявление, което ще бъде оценено за даденото условие IF.

Код:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name като вариант Spreadsheet_Name = Application.GetSaveAsFilename Ако Spreadsheet_Name False тогава ActiveWorkbook.SaveAs Име на файла: = Spreadsheet_Name End Sub 

Този къс код се оценява след като условието IF е вярно. Ако е така, активната работна книга ще бъде запазена под името, определено в променлива Spreadsheet_Name (Което ще бъде дефинирано от потребителя)

Стъпка 6: Прекратете IF-контура и стартирайте този код, за да видите изхода.

Код:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name като вариант Spreadsheet_Name = Application.GetSaveAsFilename Ако Spreadsheet_Name False тогава ActiveWorkbook.SaveAs Име на файла: = Spreadsheet_Name End Ако End Sub 

Стъпка 7: Веднага щом стартирате този код, ще получите диалогов прозорец Запиши като, който ще ви позволи да въведете името по ваш избор и да запазите файла.

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

Да предположим, че имате данни, както са дадени по-долу в листа за отлични данни и трябва да ги преобразувате в PDF.

Следвайте стъпките по-долу, за да конвертирате този файл в PDF с помощта на VBA Save As:

Стъпка 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 Save As. Тук обсъждаме как да запазите файла с помощта на Excel VBA Save As, заедно с пример и изтеглящ се шаблон на excel. По-долу са някои полезни статии за excel, свързани с VBA -

  1. VBA Изход Sub
  2. Създайте електронна таблица в Excel
  3. VBA обект
  4. Excel Autosave

Категория: