Оглавление
Естественно, нам может понадобиться открыть файл из родительского файла Excel с помощью VBA в другом каталоге. Но в то же время у нас есть различные критерии и относительно того, как мы хотим открыть рабочую книгу. Если вам интересно узнать, как можно открыть рабочую книгу с именем переменной, то эта статья может вам пригодиться. В этой статье мы обсудим, как можно открыть рабочую книгу с именем переменнойиспользование VBA в Excel с подробными объяснениями.
Скачать Практическое пособие
Загрузите эту рабочую тетрадь для практики ниже.
Открытие рабочей книги с переменным именем с помощью VBA.xlsm
Образец.xlsx
4 простых способа открыть рабочую книгу с переменным именем с помощью VBA в Excel
Для демонстрации мы будем использовать следующий набор данных. У нас есть информация о нескольких продуктах с их Id. это пример файла, который мы собираемся открыть с помощью кода VBA.
1. использование свойства Workbook.Open
Использование Рабочая книга.Открыть свойство, мы можем открывать файлы, указывая каталог или не указывая его расположение. Мы также можем сделать открытый файл доступным только для чтения.
1.1 Открыть рабочую книгу, указав путь к файлу
В следующем методе мы будем использовать метод Свойство Workbook.Open чтобы открыть файл непосредственно из указанного каталога расположения файла. Независимо от того, где находится файл, мы можем легко открыть его.
Шаги
- У нас есть файл, хранящийся в папке документов, который нам нужно открыть.
- Мы будем использовать имя файла в качестве переменной, а затем откроем файл с помощью небольшого макроса 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
- Затем закройте Модуль окно.
- После этого перейдите к Посмотреть вкладка> Макросы .
- Затем нажмите на Просмотр макросов .
- После нажатия Просмотр макросов, выберите макрос, который вы только что создали. Имя здесь следующее Open_with_File_Path . Затем нажмите Запускайте .
- После этого Образец откроется файл.
🔎 Разбивка кода
Sub Open_with_File_Path()
⮚ Сначала мы даем имя подпроцедуре, которое будет следующим Open_with_File_Path .
Dim Open_File As String: File_path = "C:\Users\User\OneDrive\Documents\Sample"
⮚ Затем мы указываем местоположение файла в поле File_Path переменная
Dim wrkbk As Workbook
⮚ Затем мы объявляем нашу переменную wrkbk , тип которого - рабочая книга.
Set wrkbk = Workbooks.Open(Filename:=File_path)
⮚ Затем открываем файл, названный в поле File_Path переменную каталога и установите файл как 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
- Затем закройте Модуль окно.
- После этого перейдите в раздел Посмотреть вкладка> Макросы .
- Затем нажмите на Просмотр макросов .
- После нажатия кнопки Просмотр макросов выберите макрос, который вы только что создали. Имя здесь следующее Open_without_File_Path Затем нажмите кнопку Выполнить.
- После нажатия Запускайте Вы заметите, что теперь открыт файл с именем 1.
- Вот как мы открываем рабочую книгу с именем переменной с помощью VBA в Excel.
🔎 Разбивка кода
Sub Open_without_File_Path()
⮚ Сначала мы даем имя подпроцедуре, которое будет следующим Sub Open_without_File_Path()
Dim wrkbk As Workbook
⮚ Мы заявляем. wrkbk как переменная в типе рабочей книги
Set wrkbk = Workbooks.Open(Filename:="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()
⮚ Сначала мы даем имя подпроцедуре, которое будет следующим Open_with_File_Read_Only()
Dim wrkbk As Workbook
⮚ Мы заявляем. wrkbk как переменная в типе рабочей книги
Set wrkbk = Workbooks.Open("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_Messege_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
- Затем закройте Модуль окно.
- После этого перейдите к Посмотреть вкладка> Макросы .
- Затем нажмите на Просмотр макросов .
- После нажатия Просмотр макросов, выберите макрос, который вы только что создали. Имя здесь следующее Open_File_with_Messege_Box . Затем нажмите Запускайте .
- Затем мы получили предупреждающее окно, которое показывает, что Файл успешно открыт .
- Затем нажмите OK .
- И тогда мы увидим, что файл теперь открыт.
- Затем мы попытаемся немного изменить код.
- Мы изменим имя файла на Образец10 и на самом деле не существует файла с именем Образец10 в папке "Документы".
- Тогда мы Запускайте код снова, и появляется окно сообщения, в котором говорится Открытие файла не удалось .
- Нажмите OK после этого.
🔎 Разбивка кода
Sub Open_File_with_Messege_Box()
⮚ Сначала мы даем имя подпроцедуре, которое будет следующим Open_with_File_Read_Only()
Dim path As String:
⮚ Мы заявляем. wrkbk в качестве переменной в типе рабочей книги
If Dir(path) "" Then Workbooks.Open (path)
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(Filename:=File_Path) End Sub
- Затем закройте Модуль окно.
- После этого перейдите к Посмотреть вкладка> Макросы .
- Затем нажмите на Просмотр макросов .
- После нажатия Просмотр макросов, выберите макрос, который вы только что создали. Имя здесь следующее Открыть_файл_с_диалоговым_боксом . Затем нажмите Запускайте .
- После этого откроется новое окно. В диалоговом окне проводника файлов и выберите Образец и нажмите OK .
- Затем файл с именем Образец открыт.
- Вот как мы открываем рабочую книгу с именем переменной с помощью 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
⮚ Мы заявляем. File_Path в качестве переменной в File_Path Как Строка тип
Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Выберите и откройте " & FileType
⮚ С первой строки появится диалоговое окно. Следующая строка обозначает имя диалогового окна и тип файла.
⮚ Dbox.Title установит заголовок диалогового окна. и FileType
установить тип файла.
Dbox.Filters.Clear
⮚ The Dbox.Filters.Clear очистит любой предыдущий фильтр, примененный в диалоговом окне
Dbox.Show
⮚ The Dbox.Show приведет к появлению диалогового окна в файле.
⮚ Эта строка определяет, выбрал ли пользователь более одного файла или нет. Если пользователь выбрал более одного файла, вся процедура остановится.
End Sub
⮚ Наконец, мы завершаем подпроцедуру этого кода.
Читать далее: Как открыть папку и выбрать файл с помощью Excel VBA (4 примера)
4. Использование свойства Workbook.Add
В отличие от предыдущих методов, мы создадим новый файл 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()
⮚ Затем мы объявляем File_Path переменная как Строка тип.
Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx"
⮚ И установите File_Path переменную на местоположение файла.
Dim wb As Workbook
⮚ Мы заявляем. wb в качестве переменной в Рабочая тетрадь тип.
Set wb = Workbooks.Add(File_Path)
⮚ Затем рабочая книга добавляется из каталога, хранящегося в каталоге File_Path местоположение с помощью Рабочая книга.Добавить собственность.
End Sub
⮚ Наконец, мы завершаем подпроцедуру этого кода.
Читать далее: [Исправлено!] Метод открытия рабочих книг объектов не работает (4 решения)
Заключение
Подводя итог, можно сказать, что на вопрос о том, как мы можем открывать рабочие книги с именами переменных с помощью VBA, здесь дается ответ на 4 различных примерах. The Макрос VBA метод требует предварительного Связанные с VBA знания, чтобы понять все с нуля.
Для этой задачи можно скачать рабочую тетрадь с макросами, в которой вы сможете отработать эти методы.
Не стесняйтесь задавать любые вопросы или оставлять отзывы в разделе комментариев. Любые предложения по улучшению Exceldemy сообщество будет высоко оценено