Използване на диалогово поле за отваряне и запазване на работната книга

Съдържание:

Anonim

Вече знаем как да отворите или запазите Excel файл във VBA. Ние просто използваме метода Open и SaveAs на обект Workbook. Но това изисква твърдо кодиране на пътя на файла. Но през повечето време ще искате крайният потребител да избере файл с помощта на GUI или да каже диалоговия прозорец File Open или Save As, който позволява на потребителя да избере местоположението на файла визуално и лесно.

В тази статия ние разглеждаме кода, използван за показване на диалоговия прозорец за отворена работна книга и записване като диалогов прозорец.

Прикачих работна книга, която можете да изтеглите. Работната книга, приложена към тази статия, съдържа три макроса

VBA код за отваряне на файл с помощта на диалоговия прозорец за отворен файл

В този код ще използваме метода GetOpenFilename на Application. Синтаксисът на метода GetOpenFilename е:

Application.GetOpenFilename ([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect])

[FileFilter]: Можете да дефинирате да се показва само един вид файл в избраната папка. Ако напишете „Файлове на Excel, *.xlsx, *.xls, *.xlsm“ и т.н., тогава само Excel файловете ще се показват от папката в диалоговия прозорец за отваряне на файла.

[FilterIndex]:Това е броят на файловите филтри, които искате да използвате.

[Заглавие]: Заглавието на диалоговия прозорец.

[ButtonText]:За задаване на текста на бутона. Маловажно.

[MultiSelect]: Това е булева променлива. Ако зададете True или 1, ще можете да изберете повече от един файл. Ако го зададете false, можете да изберете само един файл.

Стига с теорията. Нека направим някои магии.

VBA код за отваряне на един файл наведнъж

Опция Изрично Sub OpenOneFile () Dim FileName As Variant 'Показване на диалоговия прозорец на отворения файл FileName = Application.GetOpenFilename ("Excel-файлове,*. Xls", _ 1, "Избор на един файл за отваряне",, False) "Потребителят не е направил 't select a file If TypeName (FileName) = "Boolean" then Exit Sub' Отворете работните книги на работната книга. Отворете FileName End Sub 

Как работи?

Когато стартирате този сегмент от код, методът GetOpenFilename за обекта Application ще отвори диалогов прозорец Open File. Заглавието на диалоговия прозорец ще бъде „Изберете един файл за отваряне“, както дефинирахме в кода. Ако изберете файл, тогава Worbook.Open кодът ще се изпълни и файлът ще бъде отворен. Ако не изберете файл, подводницата ще излезе, без да стартира работната книга. Отворете кода.

VBA код за отваряне на един или повече файлове наведнъж

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

Sub OpenMultipleFiles () Dim FileName As Variant, f As Integer 'Показване на диалоговия прозорец за отворен файл FileName = Application.GetOpenFilename ("Excel-файлове,*. Xlsx", _ 1, "Изберете един или повече файлове за отваряне",, Вярно ) 'Потребителят не е избрал файл Ако TypeName (FileName) = "Boolean" След това излезте от Sub "Отваряне на всички работни книги, избрани от потребителя За f = 1 Към UBound (FileName) работни книги. Отворете FileName (f) Следващ f End Sub 

Обърнете внимание, че тук сме задали променливата за многоизбор на True. Това ще позволи многократен избор на файла.

VBA код за отваряне Запиши като диалогово поле

За да отворите диалогов прозорец Запиши като, ще използваме метода GetSaveAsFilename на обекта Application. Синтаксисът на метода е:

Application.GetSaveAsFilename ([InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText])

[InitialFileName]:Името на първоначалния файл. Ако не преименувате файла, докато го запазвате, вашият файл ще бъде запазен с това име.

[FileFilter]: Можете да дефинирате да се показва само един вид файл в избраната папка. Ако напишете "Файлове на Excel, *.xlsx, *.xls, *.xlsm" и т.н., тогава само Excel файлове ще бъдат показани от папката в диалоговия прозорец за отваряне на файла.

[FilterIndex]: Индексът на филтъра на файла.

[Заглавие]:Заглавието на диалоговия прозорец.

[ButtonText]:Това се използва в Mac система за промяна на името на бутона.

Моля, следвайте кода по -долу

Sub SaveFile () Dim FileName As Variant 'Показване на диалоговия прозорец saveas FileName = Application.GetSaveAsFilename ("MyFileName.xls", _ "Excel файлове,*. Xls", 1, "Изберете вашата папка и име на файл") "Потребителят не е направил" t запишете файл Ако TypeName (FileName) = "Boolean" След това излезте от Sub 'Запазете работната книга ActiveWorkbook.SaveAs FileName End Sub 

SaveFile Macro използва метода GetSaveAsFilename на обект Application, за да отвори диалоговия прозорец save as, присвоявайки името на файла и избирайки местоположението за запазване на работната книга.

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

Използвайте затворена работна книга като база данни (DAO), използвайки VBA в Microsoft Excel | За да използвате затворена работна книга като база данни с DAO връзка, използвайте този фрагмент VBA в Excel.

Използвайте затворена работна книга като база данни (ADO), използвайки VBA в Microsoft Excel | За да използвате затворена работна книга като база данни с ADO връзка, използвайте този фрагмент VBA в Excel.

Първи стъпки с потребителските формуляри на Excel VBA | За да вмъкнем данни в базата данни, използваме формуляри. Потребителските формуляри на Excel са полезни за получаване на информация от потребителя. Ето как трябва да започнете с потребителските форми на VBA.

Променете стойността/съдържанието на няколко контроли на UserForm с помощта на VBA в Excel | За да промените съдържанието на контролите на потребителската форма, използвайте този прост VBA фрагмент.

Предотвратете затварянето на потребителска форма, когато потребителят кликне върху бутона x, като използва VBA в Excel | За да предотвратим затварянето на потребителската форма, когато потребителят кликне върху бутона x на формуляра, използваме събитие UserForm_QueryClose.

Популярни статии:

50 преки пътища в Excel за повишаване на вашата производителност | Бъдете по -бързи в задачата си. Тези 50 преки пътища ще ви накарат да работите още по -бързо в Excel.

Функцията VLOOKUP в Excel | Това е една от най -използваните и популярни функции на excel, която се използва за търсене на стойност от различни диапазони и листове.

COUNTIF в Excel 2016 | Пребройте стойностите с условия, използвайки тази невероятна функция. Не е необходимо да филтрирате данните си, за да преброите конкретна стойност. Функцията Countif е от съществено значение за подготовката на вашето табло.

Как да използвате функцията SUMIF в Excel | Това е друга основна функция на таблото. Това ви помага да обобщите стойностите при конкретни условия