Vba excel как открыть файл excel vba

Обновлено: 15.05.2024

Как программист, вы, вероятно, столкнетесь со многими ситуациями, когда необходимо открыть другие файлы для чтения, записи или добавления данных. Макрос может помочь вам легко справиться с этими файлами, а метод Open — ваш билет.

Примеры реальных сценариев работы с файлами

Вот некоторые приложения, в которых вы можете использовать этот метод:

  1. Члены команды обновляют свой рабочий статус в SharePoint.
  2. Обновление HP Quality Center с помощью надстройки или макроса Excel.
  3. Школьный учитель отмечает список отсутствующих на листе Excel и использует надстройку (макрос), которая автоматически заполняет посещаемость для всех учащихся в классе.
  4. Ведение базы данных наборов навыков для учащихся и извлечение этих данных из нескольких рабочих тетрадей всякий раз, когда это необходимо, например, на соревнованиях или турнирах.
  5. Компании создают и отправляют предложения, просто заполнив форму. Для этого также можно использовать шаблоны вместе с макросами.

Метод открытия файла VBA

VBA предлагает простой способ открытия файлов и работы с ними. Это позволяет пользователю либо читать, либо писать — или делать и то, и другое — после открытия файла.

Для [Доступ] [замок]

Объяснение приведенных выше параметров:

  1. Добавить
  2. Двоичный
  3. Вывод
  4. Ввод
  5. Случайный – это режим по умолчанию.
    1. Читать
    2. Написать
    3. Читать и писать
      1. Общий
      2. Заблокировать чтение
      3. Блокировать запись
      4. Блокировать чтение и запись

      Примечание. Теги в квадратных скобках указывать необязательно. Здесь теги доступа и блокировки необязательны.

      Примеры открытия файлов с помощью VBA

      Пример 1. Просто откройте файл

      Это простая программа, которая просто открывает файл Excel.

      Пример 2. Откройте книгу Excel в режиме «только для чтения» и попытайтесь записать в нее запись

      Пример 3. Открытие текстового файла и чтение его содержимого с помощью функции «Открыть» и номера файла

      Используйте номер файла, чтобы открыть и прочитать текстовый файл

      Пример 4. Чтение и запись содержимого в текстовый файл

      В этом примере мы сначала открываем текстовый файл в режиме чтения и копируем его содержимое в переменную. Затем мы изменяем его содержимое и открываем тот же текстовый файл в режиме записи. Наконец, мы записываем измененное содержимое в файл.

      Прочитать содержимое, а затем записать текст в текстовый файл после открытия

      Пример 5. Добавление данных в текстовый файл

      В этом примере мы добавим дополнительный текст в конец существующего текстового файла, в котором уже есть некоторые данные.

      Открыть и добавить дополнительный текст в конец файла.

      Заключение

      Хотя существует множество способов открывать файлы с разными расширениями с помощью VBA, в этой статье мы попытались сосредоточиться на самых простых или простых способах этого сделать.

      Режим «open» в этом методе openfile играет здесь жизненно важную роль. Если мы попытаемся добавить или записать в файл, который открыт в режиме чтения, выдается ошибка, останавливающая выполнение программы. Таким образом, режим чтения можно рассматривать как обеспечение «безопасности данных» для исходного открываемого файла.

      Об авторе Лакшми Рамакришнан

      Лакшми Рамакришнан – специалист по автоматизации с опытом работы тренером, архитектором решений, тестировщиком и разработчиком. Она создала инструменты VBA для самых разных целей, от бухгалтерского учета до ИТ, и с удовольствием делится своим опытом и знаниями, чтобы помочь новичкам.

      Код VBA для открытия файла Excel поможет вам открыть книгу Excel с помощью VBA. Примеры открытия файла Excel VBA, демонстрирующие использование метода Workbook.Open в Excel VBA 2003, 2007, 2010, 2013.

      vba open файл excel

      Код VBA для открытия файла Excel с использованием метода Workbooks.Open

      Мы можем открыть книгу Excel, используя метод Workbooks.Open. Ниже приведены примеры VBA и синтаксис кода VBA для открытия файла Excel.

      Код VBA для открытия файла Excel с помощью Workbooks. Метод Open: синтаксис

      Вот синтаксис для открытия файла Excel с помощью VBA. Здесь нам нужно передать путь к книге для открытия.

      Код VBA для открытия файла Excel с помощью метода Workbooks.Open: примеры

      Следующий пример Excel VBA открывает файл test.xlsx в папке C:\temp.Здесь мы открываем книгу и устанавливаем объект. Это поможет нам повторно использовать открытую книгу в программе.

      Объяснение кода VBA для открытия файла Excel:
      «Процедура запуска для написания кода VBA для открытия файла Excel
      SubVBA_To_Open_Workbook()

      ‘Объявление переменной wb рабочей книгой
      Затемнение wb как рабочей книги

      'Открытие рабочей книги и установка объекта wb для дальнейшего использования
      Set wb = Workbooks.Open("C:\temp\test.xlsx")

      'Завершение подпроцедуры
      End Sub

      Файл VBAopen Excel: почему мы используем объект

      Это лучший подход к открытию и назначению рабочей книги объекту. Это поможет нам повторно использовать открытую книгу и работать с ее листами, диапазонами и другими объектами. В следующем примере показано, как получить доступ к различным примерам открытой книги путем установки и назначения объекта.

      В приведенном ниже примере кода VBA будет получено имя открытой книги
      Мы используем свойство Workbook.Name, чтобы получить имя открытой книги.

      Приведенный ниже код VBA получит количество листов в открытой книге
      Мы используем свойство книги Worksheets.Count, чтобы получить количество листов в открытой книге.

      В приведенном ниже примере кода VBA будет получено имя первого листа открытой книги
      Мы используем свойство Worksheet.Name книги, чтобы получить имя листов в открытой книге.

      В приведенном ниже примере кода VBA будет получено значение диапазона C2 рабочего листа «Основной» открытой книги.
      Мы используем объект рабочей книги Worksheet.Range, чтобы получить значение диапазона рабочих листов в открытой книге. .

      Мощные и многоцелевые шаблоны для управления проектами. Теперь легко управляйте своими проектами, задачами, встречами, презентациями, командами, клиентами, заинтересованными сторонами и временем. На этой странице описаны все удивительные новые функции и возможности наших премиальных шаблонов.

      Иногда нам может понадобиться открыть и закрыть существующую книгу с помощью VBA. Вы можете установить открытую книгу как объект, чтобы легко ссылаться на вашу книгу для выполнения дальнейших задач.

      Открыть книгу Excel с помощью VBA

      Следующие макросы позволят открыть существующую книгу с помощью метода Open.

      Открыть существующую книгу в Excel VBA — примеры случаев:

      Открыть существующую книгу

      Вы можете использовать следующий код, чтобы открыть существующую книгу и сохранить ее на диске C, используя метод Open.

      Вывод:

      Вы должны увидеть открытую книгу вместе с существующей книгой.

      Инструкции:
      1. Открыть книгу Excel
      2. Нажмите клавиши ALT + F11, чтобы открыть редактор VBA.
      3. Вставьте новый модуль из меню "Вставка".
      4. Скопируйте приведенный выше код и вставьте его в окно кода.
      5. Нажмите F5, чтобы увидеть результат.
      6. Вы должны увидеть открытую книгу
      7. Сохранить файл как книгу с поддержкой макросов
      Задать открытую книгу как объект

      Вы можете настроить объект на открытую книгу, чтобы можно было легко обращаться к вашей книге для выполнения дальнейших задач.

      Вывод:

      Вы должны увидеть недавно открытую книгу вместе с существующей книгой.

      Инструкции:
      1. Открыть книгу Excel
      2. Нажмите клавиши ALT + F11, чтобы открыть редактор VBA.
      3. Вставьте новый модуль из меню "Вставка".
      4. Скопируйте приведенный выше код и вставьте его в окно кода.
      5. Нажмите F5, чтобы увидеть результат.
      6. Вы должны увидеть открытую книгу
      7. Сохранить файл как книгу с поддержкой макросов

      Закрыть книгу Excel с помощью VBA


      Метод закрытия книги можно использовать для закрытия открытой книги в Excel с помощью VBA.

      Закрытие открытой книги — примеры случаев:

      Закрыть открытую книгу

      Метод close можно использовать следующим образом. Следующий код закроет открытую книгу.

      Вывод:

      Когда мы автоматически запускаем указанный выше макрос, файл закрывается.

      Инструкции:
      1. Открыть книгу Excel
      2. Нажмите клавиши ALT + F11, чтобы открыть редактор VBA.
      3. Вставьте новый модуль из меню "Вставка".
      4. Скопируйте приведенный выше код и вставьте его в окно кода.
      5. Сохранить файл как книгу с поддержкой макросов
      6. Нажмите F5, чтобы выполнить процедуру
      7. Файл закрывается, вы не видите файл
      Закрыть открытую книгу с помощью объекта

      Вы можете настроить объект так, чтобы он открывал рабочую книгу, чтобы можно было легко обращаться к вашей рабочей книге для выполнения дальнейших задач. Используя тот же объект, вы можете закрыть открытую книгу.

      Вывод:

      Когда мы автоматически запускаем указанный выше макрос, файл закрывается.

      Инструкции:
      1. Открыть книгу Excel
      2. Нажмите клавиши ALT + F11, чтобы открыть редактор VBA.
      3. Вставьте новый модуль из меню "Вставка".
      4. Скопируйте приведенный выше код и вставьте его в окно кода.
      5. Сохранить файл как книгу с поддержкой макросов
      6. Нажмите F5, чтобы выполнить макрос
      7. Файл закрыт, вы его не видите

      Мощные и многоцелевые шаблоны для управления проектами. Теперь легко управляйте своими проектами, задачами, встречами, презентациями, командами, клиентами, заинтересованными сторонами и временем. На этой странице описаны все удивительные новые функции и возможности наших премиальных шаблонов.

      Шаблоны расширенного планирования проекта

      120+ шаблонов для управления проектами

      Excel | PowerPoint | Слово

      УЛУЧШЕННЫЙ ШАБЛОН УПРАВЛЕНИЯ РЕСУРСАМИ

      50+ основных шаблонов управления проектами

      Excel | PowerPoint | Слово

      Шаблоны управления портфелем проектов

      Excel | Шаблоны PowerPoint

      50+ шаблонов управления проектами в Excel

      Поделитесь этой историей, выберите платформу!

      Об авторе: Валли

      Разработчик Excel VBA, имеющий около 8 лет опыта использования Excel и VBA для автоматизации повседневных задач, создания отчетов и подготовки информационных панелей. Валли делится полезными примерами VBA и советами, которые помогают нам автоматизировать повседневные задачи.

      Похожие записи

      VBA ActiveSheet — Excel Активный объект листа

      VBA ActiveSheet — объект активного листа Excel

       Excel VBA ColorIndex

      Цветовой индекс Excel VBA

      Excel VBA Копировать диапазон в другой Лист с форматированием

      Копировать диапазон Excel VBA на другой лист с форматированием

      Показать или скрыть|Выгрузить форму пользователя

      Показать или скрыть|Выгрузить форму пользователя

      15 комментариев

      Конечно, отличная коллекция примеров!

      Спасибо, Фараз!
      С уважением, ПНРао!

      Добро пожаловать!Спасибо-PNRao!

      Это лучший сайт для изучения Excel и VBA на примере. Спасибо, что предоставили нам

      Добро пожаловать, Джайдев!
      Спасибо, PNRao!

      Здравствуйте, не могли бы вы сказать мне, что такое код для переноса данных в нужную строку с помощью макроса после создания пользовательской формы.

      Каждый день я ввожу данные в excel вручную. Однажды я создал пользовательскую форму для ввода данных в этом excel. строка, которую я набрал вручную.

      Данные пользовательской формы не начинаются с пустой ячейки или строки. Они располагаются над существующей ячейкой
      Мне нужна помощь, пожалуйста
      Спасибо

      У меня есть один вопрос о закрытии книги.

      Мы можем перевести «Закрыть открытую книгу с помощью объекта» на это.

      Set wkb = Workbooks.Open("C:\WorkbookName.xls")
      'Закрыть открытую книгу с помощью объекта
      Workbooks.Open("C:\WorkbookName.xls").close

      Меня смущает эта строка:
      Workbooks.Open("C:\WorkbookName.xls").close

      Есть объяснение? У вас есть метод открытия и закрытия.

      Подскажите, пожалуйста, как сохранить и закрыть книгу по имени файла. Я пытался, но не смог.

      Частная подписка cmdClose_Click()
      ThisWorkbook.Close
      End Sub

      Частная подписка CmdForm_Click()
      frmEmpDetails.Show
      End Sub

      Частная подпрограмма UserForm_Click()

      Private Sub prComboBoxFill()
      TRows = Worksheets("Data").Range("A").CurrentRegion.Rows.Count
      ComboBox1.Clear
      For i = 2 To TRows
      ComboBox1.AddItem Worksheets("Данные").Cells(i, 1).Value

      Далее
      End Sub
      ——————
      Частная подписка cmdSearch_Click()
      binNew = False
      TxtEmpNo.Text = «»
      txtEmpName.Text = ""
      txtEmpAdd1.Text = ""
      txtEmpAdd2.Text = ""
      txtEmpAdd3.Text = ""

      TRows = Worksheets("Данные").Range("A").CurrentRegion.Rows.Count
      For i = 2 To TRows
      If Val(Trim(Worksheets("Data"). Cells(i, 1).Value)) = Val(Trim(ComboBox1.Text)) Then

      TxtEmpNo.Text = Worksheets("Данные").Cells(i, 1).Value
      txtEmpName.Text = Worksheets("Данные").Cells(i, 2).Value
      TxtAdd1 .Text = Worksheets("Данные").Cells(i, 3).Value
      TxtAdd2.Text = Worksheets("Данные").Cells(i, 4).Value
      TxtAdd3.Text = Worksheets ("Данные").Cells(i, 5).Value

      Exit For
      Exit If
      Next i
      If TxtEmpNo.Text = “” Then
      Else
      cmdSave.Enabled = True
      cmdDelete.Enabled = True
      End If
      End Sub
      ———————-
      Private Sub cmdNew_Click()
      blnNew = True
      TxtEmpNo.Text = «»
      txtEmpName.Text = «»
      txtEmpAdd1.Text = ""
      txtEmpAdd2.Text = ""
      txtEmpAdd3.Text = ""

      cmdClose.Caption = «Отмена»
      cmdNew.Enabled = False
      cmdDelete.Enabled = False
      End Sub
      ————————
      Private Sub cmdSave_Click()
      If Trim(TxtEmpNo.Text) = "" Then
      MsgBox "Введите Emp. №», vbCritical, «Сохранить»
      TxtEmpNo.SetFocus
      Выйти из подпрограммы
      End If
      Вызвать prSave

      End Sub
      —————————-
      Private Sub prSave()
      If blnNew = True Then
      THows = Worksheets («Данные»). Range("A1").CurrentRegion.Rows.Count
      With Worksheets("Data").Range("A1")
      .Offset(THows, 0).Value = TxtEmpNo.Text
      >.Offset(THows, 1).Value = txtEmpName.Text
      .Offset(THows, 2).Value = TxtempAddr1.Text
      .Offset(THows, 3).Value = TxtempAddr2.Text
      . />.Offset(THows, 4).Value = TxtempAddr3.Text
      End With
      TxtEmpNo.Text = “”
      txtEmpName.Text = “”
      TxtempAddr1.Text = “ ”
      TxtempAddr2.Text = “”
      TxtempAddr3.Text = “”
      TxtempAddr4.Text = “”
      Вызвать prComboBoxFill
      Еще
      Для i = 2 В TRows
      If Trim(Worksheets("Data").Cells(i, 1).Value) = Trim(ComboBox1.Text) Then
      Worksheets("Data").Cells(i, 1) .Value = TxtEmpNo.Text
      Рабочие листы («Данные»). Ячейки (i, 2).Value = txtEmpName.Text
      Рабочие листы («Данные»). Ячейки (i, 3). Значение = TxtempAddr1 .Text
      Рабочие листы («Данные»). Ячейки (i, 4). Значение = TxtempAddr2.Text
      Рабочие листы("Данные").Cells(i, 5).Value = TxtempAddr3.Text
      TxtEmpNo.Text = ""
      txtEmpName.Text = ""
      TxtempAddr1.Text = ""
      TxtempAddr2.Text = ""
      TxtempAddr3.Text = ""
      Выход для
      Конец, если
      Следующий
      Конец, если
      blnNew = False

      Private Sub cmdDelete_Click()
      TRows = Worksheets("Данные").Range("A1").CurrentRegion.Rows.Count
      Dim strDel
      strDel = MagBox("Удалить? », vbYesNo, «Удалить»)
      If strDel = vbYes Then
      For i = 2 To TRows
      If Trims(Worksheets("Data").Cells(i, 1).Value) = Обрезать(ComboBox1.Text) Затем

      ‘ лист1.диапазон(i & ":" & i).Удалить
      Рабочие листы("Данные").Range(i & ":" & i).Удалить

      VBA позволяет открывать и закрывать файлы стандартными методами .Open и .Close.

      Если вы хотите узнать, как проверить, существует ли файл, прежде чем пытаться его открыть, вы можете нажать на эту ссылку: Файл VBA существует

      Открыть книгу в VBA

      Открыть книгу из пути

      Если вы знаете, какой файл вы хотите открыть, вы можете указать его полный путь в функции. Вот код:

      Эта строка кода открывает файл «Sample file 1» из «папки VBA».

      Открыть книгу — ActiveWorkbook

      Когда вы открываете книгу, она автоматически становится ActiveWorkbook. Вы можете ссылаться на недавно открытую книгу следующим образом:

      Когда вы ссылаетесь на лист или диапазон и опускаете имя книги, VBA предполагает, что вы имеете в виду ActiveWorkbook:

      Открыть книгу и назначить переменную

      Вы также можете открыть книгу и назначить ее непосредственно переменной объекта. Эта процедура откроет книгу в переменной wb, а затем сохранит книгу.

      Назначение книг переменным при их открытии — лучший способ отслеживать ваши книги

      Диалоговое окно открытия файла книги

      Вы также можете вызвать диалоговое окно открытия файла рабочей книги. Это позволяет пользователю перейти к файлу и открыть его:

      vba открыть закрыть файл

      Как видно на изображении 1, при таком подходе пользователи могут выбирать, какой файл открывать. Диалоговое окно «Открыть файл» может быть сильно настроено. Вы можете выбрать определенную папку по умолчанию, выбрать, какие типы файлов будут видны (например, только .xlsx) и многое другое. Прочтите наш учебник по диалоговому окну «Открыть файл», где приведены подробные примеры.

      Открыть новую книгу

      Эта строка кода откроет новую книгу:

      Программирование VBA стало проще

      automacro

      Прекратите искать код VBA в Интернете. Узнайте больше об AutoMacro — конструкторе кода VBA, который позволяет новичкам создавать процедуры с нуля с минимальными знаниями в области кодирования и множеством функций, позволяющих сэкономить время для всех пользователей!

      Открыть новую книгу для переменной

      Эта процедура откроет новую книгу, назначив ее переменной wb:

      Синтаксис открытой книги

      При использовании Workbooks.Open вы можете заметить, что при открытии книги доступно множество параметров:

       синтаксис открытой книги vba

      Требуется имя файла. Все остальные аргументы являются необязательными, и вам, вероятно, не потребуется знать большинство других аргументов.Вот два самых распространенных:

      Открыть книгу только для чтения

      Когда книга открыта только для чтения, вы не можете сохранить исходный файл. Это предотвращает редактирование файла пользователем.

      Открыть книгу, защищенную паролем

      Книга может быть защищена паролем. Используйте этот код, чтобы открыть книгу, защищенную паролем:

      Примечания по синтаксису Open Workbook

      Обратите внимание, что на изображении выше мы включили скобки «(», чтобы показать синтаксис. Если вы используете скобки при работе с Workbooks.Open, вы должны назначить книгу переменной:

      Закрыть книгу в VBA

      Закрыть определенную книгу

      Как и при открытии книги, файл можно закрыть несколькими способами. Если вы знаете, какой файл вы хотите закрыть, вы можете использовать следующий код:

      Эта строка кода закрывает файл «Пример файла 1», если он был открыт. В противном случае будет возвращена ошибка, поэтому вам следует позаботиться об ее обработке.

      Закрыть активную книгу

      Если вы хотите закрыть рабочую книгу, которая в данный момент активна, эта строка кода позволит вам сделать это:

      Закрыть все открытые книги

      Чтобы закрыть все открытые рабочие книги, вы можете просто использовать этот код:

      Закрыть первую открытую книгу

      Это закроет первую открытую/созданную книгу:

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

      Закрыть без сохранения

      Это закроет книгу без сохранения и без отображения запроса на сохранение:

      Сохранить и закрыть без запроса

      Аналогично это сохранит и закроет книгу без отображения запроса на сохранение:

      Примечание. Существует несколько других способов указать, следует ли сохранять книгу или нет, а также показывать или нет подсказки. Более подробно это обсуждается здесь.

      Другие примеры открытия книги

      Открыть несколько новых книг

      Эта процедура откроет несколько новых книг, назначив новые книги массиву:

      Открыть все книги Excel в папке

      Эта процедура откроет все книги Excel в папке с помощью диалогового окна открытия файла.

      Проверить, открыта ли рабочая книга

      Событие Workbook_Open

      События VBA — это «триггеры», которые сообщают VBA о выполнении определенного кода. Вы можете настроить события книги для открытия, закрытия, перед сохранением, после сохранения и т. д.

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

      Открытие файлов других типов в VBA

      Вы можете использовать VBA для открытия файлов других типов с помощью VBA, например файлов txt или Word.

      Открыть текстовый файл и прочитать его содержимое

      Метод open VBA позволяет вам читать или писать в файл после того, как вы его открыли. Чтобы прочитать содержимое файла, мы можем открыть файл для ВВОДА.

      Приведенный выше код открывает текстовый файл «test.txt», а затем считывает все содержимое файла в переменную strBody. После того, как вы извлекли данные файла в переменную strBody, вы можете использовать их по своему усмотрению. Использование приведенной выше команды Debug.Print позволяет нам увидеть содержимое переменной strBody в окне Immediate в VBE.

      Открыть текстовый файл и добавить к нему добавление

      Мы также можем открыть текстовый файл в VBA, а затем добавить его в конец файла с помощью метода Append.

      Читайте также: