Excel VBA GetObject

VBA GetObject, как следует из названия, похоже, что нам нужно создать код для получения или создания объекта. Но на самом деле это процесс получения таблиц из любого слова в файл Excel. В VBA GetObject мы извлекаем данные из файла слов, помещая место их хранения и добавляем любое количество таблиц из этого Word в лист Excel.

Синтаксис VBA GetObject

Синтаксис объясняется как показано ниже:

  • PathName = Здесь мы будем указывать путь к документу Word, где он хранится. Это поле не является обязательным.
  • Class = Здесь нам нужно определить функцию Class of Object. Этот слишком необязательный. Но если мы не определяем PathName в синтаксисе, то Class должен быть определен.

Оба аргумента синтаксиса являются необязательными. Но любой из них должен быть определен.

Здесь мы будем использовать appname.objecttype для определения класса. AppName будет приложением или типом файла, из которого мы будем извлекать данные, а Objecttype будет своего рода файловым приложением, которое мы будем использовать.

Пример функции GetObject в Excel VBA

Мы увидим, как получить данные в виде таблицы в виде документа Word и добавить эти данные в таблицу Excel.

Вы можете скачать этот шаблон VBA GetObject Excel здесь - Шаблон VBA GetObject Excel

Для этого нам требуются такие данные в словесном файле. Здесь у нас есть файл слов ниже, который имеет 2 таблицы имени сотрудника и идентификатора сотрудника.

Мы сохранили этот файл где-то на нашем локальном диске, к которому легко получить доступ. Выполните следующие шаги, чтобы использовать функцию GetObject в Excel VBA.

Шаг 1. Откройте окно VBA и откройте модуль на вкладке меню « Вставка », как показано ниже.

Шаг 2: В открывшемся модуле напишите подкатегорию VBA GetObject или вы можете выбрать любое другое имя по необходимости.

Шаг 3. Сначала определите переменную 2 Object для доступа к объекту, подготовленному VBA GetObject.

Шаг 4: Нам понадобится другая переменная, для которой мы будем хранить расположение File как String.

Шаг 5: Чтобы избежать перерыва в случае возникновения ошибки, мы продолжим выполнение следующего шага.

Шаг 6: Теперь мы будем использовать функцию GetObject и установить ее как объект WordFile . Оставляя путь пустым, мы определим класс как Word.Application, где Word является приложением Microsoft.

Шаг 7: Чтобы избежать ошибки номер 429, которая обычно возникает в этом случае, мы очистим ее, как это происходит.

Шаг 8: Теперь сделайте созданную переменную объекта WordFile видимой.

Шаг 9: Поскольку мы не определили путь, мы назначим расположение файла для StrDoc вместе с расширением.

Шаг 10: Если мы не нашли ничего в словесном файле, мы должны получить сообщение с запросом «Нет данных» или «Документ не найден». И это будет сделано в цикле If-End If.

Шаг 11: Теперь активируйте файл Word.

Шаг 12: Проделайте ту же процедуру для настройки WordDoc. Если WordDoc - это ничто, мы откроем файл из того места, где он хранится.

Шаг 13: Теперь нам нужно определить переменные, которые помогут в доступе к таблице из документа Word. По этому мы будем создавать таблицу со строками и столбцами.

Шаг 14: Как мы все знаем, вершина клеток является двухмерной. Итак, начиная с 1- й ячейки, нам понадобятся 2 переменные, в которых мы определим место, откуда нам нужно начать нашу таблицу в Excel. Здесь мы рассмотрели ту позицию в (1, 1), которая находится в 1- й ячейке листа.

Шаг 15: На этом этапе нам нужно проверить количество таблиц в файле Word. И если таблицы не найдены, мы должны получить сообщение об этом.

Шаг 16. На этом шаге нам нужно получить доступ к таблице из документа Word и отобразить ее в файле Excel. Для этого мы будем использовать цикл For для каждой строки и столбца.

Шаг 17: Наконец, мы выйдем из документа, как только он добавит данные из Word в файл Excel без сохранения файла.

Шаг 18: Теперь запустите приведенный выше код, нажав клавишу F5 или нажав кнопку Play.

Мы увидим, что данные, которые мы видели в начале статьи, которые были разделены на две разные таблицы, теперь добавлены в одну таблицу в листе Excel.

Ниже приведен полный код в одной последовательности:

Код:

 Sub VBA_GetObject () Dim WordFile как объект Dim WordDoc как объект Dim StrDoc как строка при ошибке Возобновить следующее Установить WordFile = GetObject (, "Word.Application") Если Err.Number = 429, то Err.Clear Установить WordFile = CreateObject ("Word. Приложение ") End If WordFile.Visible = True StrDoc =" D: \ Input \ Test.docx "If Dir (StrDoc) =" "Тогда MsgBox StrDoc & vbCrLf &" Не найдено в указанном пути "& vbCrLf &" C: \ Расположение ввода ", vbExclamation, " Имя документа не найдено "Выйти из Sub End, если WordFile.Activate Установить WordDoc = WordFile.Documents (StrDoc) Если WordDoc ничего не значит, то установить WordDoc = WordFile.Documents.Open (" D: \ Input \ Test. docx ") WordDoc. Активировать Dim Tble как целое число Dim RowWord как длинное Dim ColWord как целое число Dim A как длинное Dim B как длинное A = 1 B = 1 с WordDoc Tble = WordDoc.Tables.Count Если Tble = 0, то MsgBox" Нет таблиц Avaiable ", vbExclamation, " Ничего не импортировать "Выход из под-конца, если для i = 1 в таблицу с .Tables (i) для RowWord = 1 в .Rows.Count для ColWord = 1 в .Columns.Count Ячейки (A, B) = WorksheetFunctio n.Clean (.cell (RowWord, ColWord) .Range.Text) B = B + 1 Следующий ColWord B = 1 A = A + 1 Следующий конец RowWord со следующим концом с WordDoc. Закрыть Сохранить изменения: = False WordFile.Quit Установить WordDoc = Nothing Set WordFile = Nothing End Sub 

Плюсы Excel VBA GetObject

  • Это очень полезно при импорте большого набора данных из файла Word в файл Excel.
  • Мы можем импортировать данные любого типа из любого файла, просто изменив его расширение.

То, что нужно запомнить

  • Закройте все файлы слов перед запуском кода.
  • Дайте правильное расширение файла, который используется.
  • GetObject нельзя использовать для доступа к ссылке на класс.

Рекомендуемые статьи

Это руководство по VBA GetObject. Здесь мы обсудим, как использовать функцию GetObject в VBA для извлечения данных из файла слов в таблицу Excel вместе с практическим примером и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. VBA GetOpenFileName
  2. Панель инструментов KPI в Excel
  3. VBA Workbook Open
  4. Excel Word Count
  5. Excel VBA при ошибке возобновить следующий

Категория: