Як відкрити книгу з іменем змінної за допомогою Excel VBA

  • Поділитися Цим
Hugh West

Природно, нам може знадобитися відкрити файл з батьківського файлу Excel за допомогою VBA в іншому каталозі. Але в той же час у нас є різні типи критеріїв також щодо того, як ми хочемо відкрити книгу. Якщо вам цікаво знати, як можна відкрити книгу з іменем змінної, тоді ця стаття може стати вам у нагоді. У цій статті ми обговоримо, як можна відкрити книгу з іменем змінноївикористання VBA в Excel з детальними поясненнями.

Завантажити Практичний посібник

Завантажте цей робочий зошит нижче.

Відкрити книгу з іменем змінної за допомогою VBA.xlsm

Зразок.xlsx

4 простих способи відкрити книгу з іменем змінної за допомогою VBA в Excel

Для демонстрації ми будемо використовувати наведений нижче набір даних. У нас є інформація про декілька продуктів з їх ідентифікаторами. це зразок файлу, який ми збираємося відкрити за допомогою коду VBA.

1. використання властивості Workbook.Open

За допомогою Workbook.Open ми можемо відкривати файли, вказуючи каталог, або не вказуючи розташування. Ми також можемо зробити відкритий файл доступним тільки для читання.

1.1 Відкрити книгу, вказавши шлях до файлу

У наступному методі ми будемо використовувати Робоча книга.Відкрита власність відкрити файл безпосередньо з вказаної директорії розташування файлу. Незалежно від того, де знаходиться файл, ми можемо легко відкрити його.

Кроки

  • У нас є файл, що зберігається в папці documents, який нам потрібно відкрити.
  • Ми будемо використовувати ім'я файлу в якості змінної, а потім відкриємо файл за допомогою невеликого макросу VBA.
  • Точна директорія файлу показана нижче у вікні властивостей файлу.

  • По-перше, зайдіть на сайт Розробник та натисніть на вкладку Visual Basic Якщо у вас цього немає, ви повинні увімкніть вкладку "Розробник Або ви також можете натиснути ' Alt+F11' за відкриття Редактор Visual Basic .

  • Після цього з'явиться нове діалогове вікно, в якому натисніть на кнопку Вставка > Модуль .

  • Далі, в рамках Модуль у вікні редактора введіть наступний код:
 Sub Open_with_File_Path() Dim Open_File As String: File_path = "C:\Users\User\OneDrive\Documents\Sample" Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:=File_path) End Sub 

  • Потім закрийте Модуль вікно.
  • Після цього перейдіть за посиланням Вид вкладка> Макроси .
  • Потім натисніть на Перегляд макросів .

  • Після натискання Перегляд макросів, виберіть макроси, які ви щойно створили. Назва тут така Відкрити_з_шляхом_до_файлу Потім натисніть Біжи .

  • Після цього відбулася Зразок файл відкриється.

🔎 Розбивка Кодексу

 Sub Open_with_File_Path() 

По-перше, ми надаємо назву підпроцедурі, а саме Відкрити_з_шляхом_до_файлу .

 Dim Open_File As String: File_path = "C:\Users\User\OneDrive\Documents\Sample" 

Потім, ми вказуємо місцезнаходження файлу в полі Шлях до файлу змінна

 Dim wrkbk Як робоча книга 

Потім оголошуємо нашу змінну wrkbk , тип якого - робоча книжка.

 Set wrkbk = Книги.Відкрити(Ім'я_файлу:=Шлях_до_файлу) 

Потім відкриваємо файл з ім'ям в папці Шлях до файлу змінну каталогу і задайте файлу ім'я wrkbk змінна.

 End Sub 

Нарешті, ми закінчуємо підпроцедуру цього кодексу.

Читати далі: Як відкрити книгу з шляху за допомогою Excel VBA (4 приклади)

1.2 Відкрити книгу без вказівки шляху до файлу

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

Кроки

  • У нас є інший файл, збережений у тій самій директорії, де зараз зберігається батьківський файл Excel.
  • Ім'я файлу - 1.

  • По-перше, зайдіть на сайт Розробник та натисніть на вкладку Visual Basic Якщо у вас цього немає, ви повинні увімкніть вкладку "Розробник Або Ви також можете натиснути ' Alt+F11 "За відкриття Редактор Visual Basic .

  • Після цього з'явиться нове діалогове вікно, в якому натисніть на кнопку Вставка > Модуль .

  • Далі, в рамках Модуль у вікні редактора введіть наступний код:
 Sub Open_without_File_Path() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:="1.xlsx") End Sub 

  • Потім закрийте Модуль вікно.
  • Після цього перейдіть за посиланням Вид вкладка> Макроси .
  • Потім натисніть на Перегляд макросів .

  • Після натискання кнопки "Переглянути макроси" виберіть макроси, які ви щойно створили. Назва тут така Відкрити_без_шляху_до_файлу Потім натисніть "Виконати".

  • Після натискання Біжи ви побачите, що файл з ім'ям 1 відкрито.
  • А ось так ми відкриваємо робочу книгу з ім'ям змінної за допомогою VBA в Excel.

🔎 Розбивка Кодексу

 Sub Open_without_File_Path() 

По-перше, ми надаємо назву підпроцедурі, а саме Sub Open_without_File_Path()

 Dim wrkbk Як робоча книга 

Ми заявляємо wrkbk як змінну типу Workbook

 Set wrkbk = Книги.Відкрити(Ім'я:="1.xlsx") 

⮚ Відкриваємо файл з батьківського каталогу з ім'ям 1.xlsx .

 End Sub 

Нарешті, ми закінчуємо підпроцедуру цього кодексу.

1.3 Відкрити книгу в режимі "Тільки для читання

Метод дуже схожий на перший метод, але тут ми відкриваємо файл в режимі "тільки для читання", тобто ми не зможемо змінювати будь-які дані або значення в файлі Excel.

Кроки

  • Файл, який ми хочемо відкрити, зберігається в папці з документами.
  • І саме цей файл ми хочемо відкрити в режимі "тільки для читання".

  • По-перше, зайдіть на сайт Розробник та натисніть на вкладку Visual Basic Якщо у вас цього немає, ви повинні увімкніть вкладку "Розробник Або ви також можете натиснути ' Alt+F11 ' для відкриття редактора Visual Basic.

  • Після цього з'явиться нове діалогове вікно, в якому натисніть на кнопку Вставка > Модуль .

  • Далі, в рамках Модуль у вікні редактора введіть наступний код:
 Sub Open_with_File_Read_Only() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) End Sub 
  • Потім закрийте Модуль вікно.
  • Після цього перейдіть за посиланням Вид вкладка> Макроси .
  • Потім натисніть на Перегляд макросів .

  • Після натискання кнопки "Переглянути макроси" виберіть макроси, які ви щойно створили. Назва тут така Відкрити_з_файлом_тільки_для_читання Потім натисніть Біжи .

  • Після натискання Біжи ми побачимо, що файл тепер відкритий тільки для читання, як показано в рядку заголовка.

🔎 Розбивка Кодексу

 Sub Open_with_File_Read_Only() 

По-перше, ми надаємо назву підпроцедурі, а саме Відкрити_з_файлом_тільки_для_читання()

 Dim wrkbk Як робоча книга 

Ми заявляємо wrkbk як змінну в типі Workbook

 Set wrkbk = Книги.Відкрити("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) 

⮚ Після цього файл відкриється з вказаного каталогу, і файл буде встановлено тільки для читання за останнім аргументом.

 End Sub 

Нарешті, ми закінчуємо підпроцедуру цього кодексу.

Читати далі: Як відкрити книгу в режимі "тільки для читання" в Excel VBA

2. використання вікна повідомлень

Майже аналогічно до попереднього методу, ми можемо відкривати файли за допомогою коду VBA тут, в Excel, але в цьому випадку ми включимо невелике вікно повідомлення тут.

Кроки

  • По-перше, зайдіть на сайт Розробник та натисніть на вкладку Visual Basic Якщо у вас цього немає, ви повинні увімкніть вкладку "Розробник Або Ви також можете натиснути ' Alt+F11' за відкриття Редактор Visual Basic .

  • Після цього з'явиться нове діалогове вікно, в якому натисніть на кнопку Вставка > Модуль .

  • Далі, в рамках Модуль у вікні редактора введіть наступний код:
 Sub Open_File_with_Message_Box() Dim path As String: path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" If Dir(path) "" Then Workbooks.Open (path) MsgBox "Файл відкрито успішно" Else MsgBox "Відкриття файлу не вдалося" End If End Sub 

  • Потім закрийте Модуль вікно.
  • Після цього перейдіть за посиланням Вид вкладка> Макроси .
  • Потім натисніть на Перегляд макросів .

  • Після натискання Перегляд макросів, виберіть макроси, які ви щойно створили. Назва тут така Відкрити_файл_з_Messege_Box Потім натисніть Біжи .

  • Потім з'явилося попереджувальне вікно, яке показує, що Файл успішно відкрито .
  • Потім натисніть ГАРАЗД. .

  • І тоді ми побачимо, що файл відкрито.

  • А потім ми намагаємося трошки змінити код.
  • Змінюємо ім'я файлу на Зразок10 і насправді не існує файлу з ім'ям Зразок10 в папці "Документи".

  • Тоді ми Біжи код ще раз, і з'являється вікно з повідомленням про те, що Не вдалося відкрити файл .
  • Натисніть ГАРАЗД. після цього.

🔎 Розбивка Кодексу

 Sub Open_File_with_Message_Box() 

По-перше, ми надаємо назву підпроцедурі, а саме Відкрити_з_файлом_тільки_для_читання()

 Тьмяний шлях як рядок: 

Ми заявляємо wrkbk як змінну типу Workbook

 If Dir(шлях) "" Then Workbooks.Open(шлях) 
 MsgBox "Файл успішно відкрито" Else 

⮚ Цей рядок перевірить, чи є в каталозі файл з ім'ям Sample чи ні, якщо файл є, то відкриє його і при цьому покаже повідомлення.

 MsgBox "Відкриття файлу не вдалося" 

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

 End If 

Нарешті, ми закінчуємо підпроцедуру цього кодексу.

 End Sub 

Нарешті, ми закінчуємо підпроцедуру цього кодексу.

Читати далі: Як відкрити книгу та запустити макрос за допомогою VBA (4 приклади)

3 Використання діалогового вікна для відкриття файлу

Витягувати директорію розташування файлів та імпортувати їх кожного разу в коді VBA досить громіздко. Для вирішення проблеми ми покажемо, як можна використовувати діалогове вікно для вибору файлу з будь-якої директорії.

Кроки

  • Тепер відкриємо файл за допомогою діалогового вікна файлового провідника.
  • По-перше, зайдіть на сайт Розробник та натисніть на вкладку Visual Basic Якщо у вас цього немає, ви повинні увімкніть вкладку "Розробник Або Ви також можете натиснути ' Alt+F11' за відкриття Редактор Visual Basic .

  • Після цього з'явиться нове діалогове вікно, в якому натисніть на кнопку Вставка > Модуль .

  • Далі, в рамках Модуль у вікні редактора введіть наступний код:
 Sub Open_File_with_Dialog_Box() Dim Dbox As FileDialog Dim File_Path As String Dim wrkbk As Workbook Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Вибрати та відкрити " & FileType Dbox.Filters.Clear Dbox.Show If Dbox.SelectedItems.Count = 1 Then File_Path = Dbox.SelectedItems(1) End If Set wrkbk = Workbooks.Open(Ім'я_файлу:=Файл_Путь) End Sub 
  • Потім закрийте Модуль вікно.
  • Після цього перейдіть за посиланням Вид вкладка> Макроси .
  • Потім натисніть на Перегляд макросів .

  • Після натискання Перегляд макросів, виберіть макроси, які ви тільки що створили. Назва тут така Відкрити_файл_з_діалоговим_окном Потім натисніть Біжи .

  • Після чого відкривається нове вікно. У діалоговому вікні файлового провідника і вибираємо Зразок і натисніть ГАРАЗД. .

  • Потім файл з ім'ям Зразок відкрито.
  • А ось так ми відкриваємо робочу книгу з ім'ям змінної за допомогою VBA в Excel.

🔎 Розбивка Кодексу

 Sub Open_File_with_Dialog_Box() 

По-перше, ми надаємо назву підпроцедурі, а саме Sub Open_File_with_Dialog_Box()

 Dim Dbox As FileDialog 

Ми заявляємо Dbox як змінну в FileDialog тип

 Dim File_Path As String 

Ми заявляємо Шлях до файлу в якості змінної в Шлях до файлу Як Рядок тип

 Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Вибрати та відкрити " & FileType 

⮚ З'явиться діалогове вікно з першого рядка. Наступний рядок позначає назву діалогового вікна та тип файлу.

Dbox.Title задасть заголовок діалогового вікна. і Тип файлу встановити тип файлу.

 Dbox.Filters.Clear 

*Все, що ми знаємо* Dbox.Filters.Clear очистить будь-який попередній фільтр, застосований у діалоговому вікні

 Dbox.Show 

*Все, що ми знаємо* Dbox.Show призведе до появи діалогового вікна на файлі.

⮚ Цей рядок визначає, чи вибрав користувач більше одного файлу чи ні. Якщо користувач вибрав більше одного файлу, вся процедура буде зупинена.

 End Sub 

Нарешті, ми закінчуємо підпроцедуру цього кодексу.

Читати далі: Як відкрити папку та вибрати файл за допомогою Excel VBA (4 приклади)

4. використання методу Workbook.Add Property (Додати властивість)

На відміну від попередніх способів, ми створимо новий файл Excel в заздалегідь визначеному каталозі, а потім відкриємо його за допомогою кнопки Робочий зошит. Додати власність.

Кроки

  • По-перше, зайдіть на сайт Розробник та натисніть на вкладку Visual Basic Якщо у вас цього немає, ви повинні увімкніть вкладку "Розробник Або Ви також можете натиснути ' Alt+F11' за відкриття Редактор Visual Basic .

  • Після цього з'явиться нове діалогове вікно, в якому натисніть на кнопку Вставка > Модуль .

Далі, в рамках Модуль у вікні редактора введіть наступний код:

 Sub Open_File_with_Add_Property() Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" Dim wb As Workbook Set wb = Workbooks.Add(File_Path) End Sub 
  • Потім закрийте Модуль вікно.
  • Після цього перейдіть за посиланням Вид вкладка> Макроси .
  • Потім натисніть на Перегляд макросів .

  • Після натискання Перегляд макросів, виберіть макроси, які ви щойно створили. Назва тут така Відкрити_файл_з_додаванням_власності Потім натисніть Біжи .

  • Після натискання Біжи, ви побачите, що створено і відкрито новий файл.

🔎 Розбивка Кодексу

По-перше, ми надаємо назву підпроцедурі, а саме Sub Open_File_with_Add_Property()

Тоді ми проголошуємо Шлях до файлу змінну як Рядок тип.

 Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" 

♪ І встановіть Шлях до файлу змінну на місце розташування файлу.

 Dim wb Як робоча книга 

Ми заявляємо wb в якості змінної в Робочий зошит тип.

 Set wb = Книги.Додати(Шлях_до_файлу) 

⮚ Робоча книга додається з каталогу, що зберігається в Шлях до файлу місцезнаходження за допомогою Workbook.Add власність.

 End Sub 

Нарешті, ми закінчуємо підпроцедуру цього кодексу.

Читати далі: [Виправлено!] Не працював метод відкриття робочих книг об'єктів (4 рішення)

Висновок

Підводячи підсумок, питання про те, як відкрити книгу з іменами змінних за допомогою VBA, тут розглядається на 4 різних прикладах. Макрос VBA метод вимагає попереднього Пов'язані з VBA знання, щоб розібратися з нуля.

Для цієї проблеми доступна для завантаження робоча книга з підтримкою макросів, де ви можете практикувати ці методи.

Ви можете задати будь-які питання або залишити відгук через розділ коментарів. Будь-яка пропозиція щодо покращення Ексельдемія спільноти буде дуже відчутним

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.