Как открыть книгу в vba?
Чтобы открыть книгу с помощью VBA, вам необходимо использовать метод «Workbook.Open» и указать путь к файлу (обязательно укажите полный путь к книге с именем и типом файла расширения). Этот метод имеет в общей сложности пятнадцать необязательных аргументов, которые можно использовать для обработки файлов разных типов.
В этом уроке мы подробно рассмотрим его и рассмотрим альтернативный метод, который вы можете использовать.
Действия по открытию книги с помощью VBA
- Для запуска кода используйте объект «Рабочие книги».
- Введите точку (.) после этого и выберите метод Открыть из списка.
- Укажите путь к файлу в первом аргументе и обязательно заключите его в двойные кавычки.
- В конце запустите код, чтобы открыть книгу.

Sub vba_open_workbook() Workbooks.Open "C:UsersDellDesktopmyFile.xlsx" End Sub
Полезные ссылки: Запуск макроса – Средство записи макросов – Редактор Visual Basic – Персональный справочник по макросам
Рабочая книга.Открытый синтаксис
Теперь пришло время взглянуть на синтаксис метода, который вы только что использовали в примере выше. Как я уже упоминал, вы можете использовать пятнадцать аргументов:
expression.Open (FileName, UpdateLinks, _ ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, _ Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)
Вы не будете использовать все эти аргументы. Но некоторые из них весьма важны и могут пригодиться вам в реальном мире.
Открытие книги, защищенной паролем
Если вы хотите открыть книгу, защищенную паролем, в этом случае вы можете указать пароль с аргументом пароля.
Вот у меня есть книга на рабочем столе с паролем «test123», и теперь я хочу одновременно открыть ее и снять защиту. Вот код, который мне нужно использовать.
Workbooks.Open "C:UsersDellDesktopmyFile.xlsx", , , Password:="test123"
Откройте книгу, доступную только для чтения
Открыв книгу, доступную только для чтения, вы не можете вносить изменения в ту же книгу, но должны сохранить ее копию.
Workbooks.Open "C:UsersDellDesktopFolder1.xlsx", , True
Открыть все книги в папке
Sub vba_open_multiple_workbooks_folder() Dim wb As Workbook Dim strFolder As String Dim strFile As String strFolder = "C:UsersDellDesktopFolder" strFile = Dir(strFolder & "*.xls*") Do While strFile <> "" Set wb = Workbooks.Open(strFolder & strFile) strFile = Dir Loop End Sub
Чтобы использовать его в соответствии с вашими требованиями, обязательно измените путь к папке.
Диалоговое окно открытия файла книги
Sub vba_open_dialog() Dim strFile As String strFile = Application.GetOpenFilename() Workbooks.Open (strFile) End Sub