Книга відкриття / закриття VBA

У цьому посібнику ви дізнаєтесь, як за допомогою VBA відкривати та закривати книгу Excel кількома способами.

VBA дозволяє відкривати або закривати файли стандартними методами .Відчинено та .Закрити.

Якщо ви хочете дізнатися, як перевірити наявність файлу, перш ніж спробувати відкрити його, ви можете натиснути на це посилання: Файл VBA існує

Відкрийте робочу книгу у VBA

Відкрийте книгу зі шляху

Якщо ви знаєте, який файл потрібно відкрити, ви можете вказати повне ім’я шляху у функції. Ось код:

1 Workbooks.Open "C: \ VBA Folder \ Sample file 1.xlsx"

У цьому рядку коду відкривається файл “Приклад файлу 1” із “Папки VBA”.

Відкрита книга - ActiveWorkbook

Коли ви відкриваєте книгу, вона автоматично стає книгою ActiveWorkbook. Ви можете посилатися на нещодавно відкриту книгу так:

1 ActiveWorkbook.Save

Коли ви посилаєтесь на аркуш або діапазон і опускаєте назву книги, VBA припускає, що ви маєте на увазі ActiveWorkbook:

1 Аркуші ("Аркуш1"). Назва = "Вхідні дані"

Відкрийте книгу та призначте змінну

Ви також можете відкрити книгу та призначити її безпосередньо для об’єктної змінної. Ця процедура відкриє робочу книгу для wb змінну, а потім збережіть книгу.

123456 Sub OpenWorkbookToVariable ()Dim wb Як робочий зошитВстановити wb = Workbooks.Open ("C: \ VBA Folder \ Sample file 1.xlsx")wb. ЗберегтиEnd Sub

Призначення змінних під час їх відкриття - найкращий спосіб відстежувати ваші робочі книги

Діалог відкритого файлу робочої книги

Ви також можете викликати діалогове вікно відкриття файлу книги. Це дозволяє користувачеві перейти до файлу та відкрити його:

12345678 Sub OpenWorkbook ()Dim strFile As StringstrFile = Application.GetOpenFilename ()Workbooks.Open (strFile)End Sub

Як ви можете бачити на зображенні 1, за допомогою такого підходу користувачі можуть вибрати, який файл відкрити. Діалогове вікно "Відкритий файл" можна сильно налаштувати. Ви можете встановити за замовчуванням певну папку, вибрати, які типи файлів будуть видимими (наприклад, лише… xlsx) тощо. Прочитайте наш підручник у діалоговому вікні "Відкрити файл" для детальних прикладів.

Відкрийте нову книгу

Цей рядок коду відкриє нову книгу:

1 Робочі зошити.Додати

Відкрийте нову книгу до змінної

Ця процедура відкриє нову книгу, призначивши її для змінної wb:

1234 Sub OpenNewWorkbook ()Dim wb Як робочий зошитВстановити wb = Робочі книги. ДодатиEnd Sub

Відкрийте синтаксис робочої книги

Коли ви використовуєте Робочі книги. Відкрийте, ви можете помітити, що під час відкриття книги є багато варіантів:

Необхідно вказати ім’я файлу. Усі інші аргументи є необов’язковими - і вам, ймовірно, не знатимуть більшість інших аргументів. Ось два найпоширеніших:

Відкрийте робочу книгу лише для читання

Коли книгу відкрито лише для читання, ви не можете зберегти вихідний файл. Це запобігає редагуванню файлу користувачем.

1 Робочі книги. Відкрийте "C: \ VBA Folder \ Sample file 1.xlsx",, True

Відкрийте книгу, захищену паролем

Робоча книга може бути захищена паролем. Щоб відкрити книгу, захищену паролем, скористайтеся цим кодом:

1 Workbooks.Open "C: \ VBA Folder \ Sample file 1.xlsx",,, "password"

Відкрийте синтаксичні примітки робочої книги

Зверніть увагу, що на зображенні вище ми включили дужки "(" для відображення синтаксису. Якщо ви використовуєте дужки під час роботи з робочими книгами. Відкрийте, ви повинні призначити книгу змінній:

1234 Sub OpenWB ()Dim wb Як робочий зошитВстановити wb = Workbooks.Open ("C: \ VBA Folder \ Sample file 1.xlsx", True, True)End Sub

Закрийте робочу книгу у VBA

Закрийте конкретну книгу

Як і відкриття книги, існує кілька способів закрити файл. Якщо ви знаєте, який файл потрібно закрити, можна скористатися таким кодом:

1 Workbooks.Close ("C: \ VBA Folder \ Sample file 1.xlsx")

Цей рядок коду закриває файл "Зразок файлу 1", якщо він відкритий. Якщо ні, він поверне помилку, тому вам слід подбати про обробку помилок.

Закрийте активну книгу

Якщо ви хочете закрити активну книгу, цей рядок коду дозволить вам це зробити:

1 ActiveWorkbook.Закрити

Закрийте всі відкриті книги

Щоб закрити всі відкриті книги, ви можете просто скористатися цим кодом:

1 Робочі зошити.Закрити

Закрийте першу відкриту книгу

Це закриє першу відкриту/створену книгу:

1 Робочі зошити (1) .Закрити

Замініть 1 на 2, щоб закрити другу відкриту / створену книгу тощо.

Закрити без збереження

Це закриє книгу без збереження та без відображення запиту на збереження:

1 ActiveWorkbook.Close savechanges: = False

Зберегти та закрити без запиту

Так само це збереже та закриє книгу без відображення запиту на збереження:

1 ActiveWorkbook.Close savechanges: = True

Примітка. Існує кілька інших способів вказати, чи зберігати книгу, чи ні, а також показувати підказки чи ні. Це більш детально обговорюється тут.

Інші відкриті приклади робочої книги

Відкрийте кілька нових робочих книг

Ця процедура відкриє кілька нових книг, призначаючи нові книги до масиву:

12345678 Sub OpenMultipleNewWorkbooks ()Dim arrWb (3) Як робочий зошитDim i як ціле числоДля i = 1 до 3Встановити arrWb (i) = Робочі книги. ДодатиДалі iEnd Sub

Відкрийте всі робочі книги Excel у папці

Ця процедура відкриє всі робочі книги Excel у папці за допомогою засобу вибору діалогу відкриття файлів.

12345678910111213141516 Sub OpenMultipleWorkbooksInFolder ()Dim wb Як робочий зошитЗатемнити dlgFD як FileDialogЗатемнити strFolder As StringDim strFileName As StringВстановити dlgFD = Application.FileDialog (msoFileDialogFolderPicker)Якщо dlgFD.Show = -1 ТодіstrFolder = dlgFD.SelectedItems (1) & Application.PathSeparatorstrFileName = Dir (strFolder & "*.xls*")Do While strFileName ""Встановити wb = Робочі книги. Відкрити (strFolder & strFileName)strFileName = РежПетляЗакінчити ЯкщоEnd Sub

Перевірте, чи відкрита книга

Ця процедура перевірить, чи відкрита книга:

1234567891011 Sub TestByWorkbookName ()Dim wb Як робочий зошитДля кожного wb у робочих зошитахЯкщо wb.Name = "Новий робочий аркуш Microsoft Excel.xls" ТодіMsgBox "Знайшов"Вийти з коду виклику Sub 'тут, поки що ми просто вийдемоЗакінчити ЯкщоДаліEnd Sub

Workbook_Open Event

Події VBA - це "тригери", які вказують VBA запускати певний код. Ви можете налаштувати події робочої книги для відкриття, закриття, перед збереженням, після збереження тощо.

Прочитайте наш посібник Workbook_Open Event, щоб дізнатися більше про автоматичне виконання макросів при відкритті книги.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave