Excel VBA GetObject

VBA GetObject, як ім'я, здається, нам потрібно створити код для отримання або створення об'єкта. Але насправді це процес отримання таблиць з будь-якого слова у файл excel. У VBA GetObject ми отримуємо дані з файлу слів, розміщуючи місце, де вони зберігаються, і додаємо будь-яку кількість таблиць із цього Word на аркуш Excel.

Синтаксис VBA GetObject

Синтаксис пояснюється так, як показано нижче:

  • PathName = Тут ми прокладемо шлях до документа Word, де він зберігається. Це поле не є обов'язковим.
  • Class = Тут нам потрібно визначити функцію Class of Object. Цей занадто необов’язковий. Але якщо ми не визначаємо PathName у синтаксисі, Клас повинен буде визначати.

Обидва аргументи синтаксису необов’язкові. Але когось із них слід визначити.

Тут ми будемо використовувати appname.objecttype для визначення класу. AppName - це додаток або тип файлу, з якого ми будемо отримувати дані, а Objecttype буде тим самим файловим додатком, яке ми будемо використовувати.

Приклад функції GetObject в Excel VBA

Ми побачимо, як отримати дані, які є у вигляді таблиці у словному документі, і додати ці дані до робочого листа Excel.

Ви можете завантажити цей шаблон VBA GetObject Excel тут - Шаблон VBA GetObject Excel

Для цього нам потрібні такі дані у файлі word. Тут ми маємо слово слово нижче, в якому є 2 таблиці імені працівника та ідентифікатора працівника.

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

Крок 1: Перейдіть до вікна VBA і відкрийте модуль на вкладці меню Вставка, як показано нижче.

Крок 2. У щойно відкритому модулі напишіть підкатегорію VBA GetObject або ви можете вибрати будь-яке інше ім'я за потребою.

Крок 3: Спочатку визначте змінну 2 Object для доступу до Об'єкта, підготовленого VBA GetObject.

Крок 4: Нам знадобиться ще одна змінна, для якої ми збережемо розташування Файлу як 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: Нарешті, ми вийдемо з документа, як тільки він додасть дані з слова до файлу excel, не зберігаючи файл.

Крок 18: Тепер запустіть наведений вище код, натиснувши клавішу F5 або натиснувши кнопку Відтворити.

Ми побачимо, дані, які ми бачили на початку статті, яка була окремою у двох різних таблицях, тепер додаються до однієї таблиці на аркуші excel.

Нижче наведено повний код в одній послідовності:

Код:

 Sub VBA_GetObject () Dim WordFile як об'єкт Dim WordDoc як об’єкт Dim StrDoc як рядок помилки Відновлення Наступне Встановити WordFile = GetObject (, "Word.Application") Якщо Err.Number = 429, то Err.Clear встановити WordFile = CreateObject ("Word. Застосування ") Кінець, якщо WordFile.Visible = True StrDoc =" D: \ Input \ Test.docx "If Dir (StrDoc) =" "Тоді MsgBox StrDoc & vbCrLf &" Не знайдено у згаданому шляху "& vbCrLf &" C: \ Розташування вводу ", vbExclamation, " Ім'я документа не знайдено "Вийдіть з підрозділу, якщо WordFile.Activate Встановити WordDoc = WordFile.Документи (StrDoc) Якщо WordDoc - ніщо, тоді встановіть WordDoc = WordFile.Documents.Open (" D: \ Input \ Test "). docx ") WordDoc.Activate Dim Tble As Integer Dim RowWord As Long Dim ColWord As Integer Dim A As Long Dim B As Long A = 1 B = 1 With WordDoc Tble = WordDoc.Tables.Count If Tble = 0 Тоді MsgBox" Без таблиць Доступні ", vbExclamation, " Нічого для імпорту "Вийдіть з підзакінчення, якщо для i = 1 для Tble з .Tables (i) для RowWord = 1 до .Rows.Count для ColWord = 1 до .Columns.Count Cell (A, B) = WorkheetFunctio n.Clean (.cell (RowWord, ColWord) .Range.Text) B = B + 1 Наступний ColWord B = 1 A = A + 1 Наступний кінець рядка з наступним кінцем з WordDoc.Закрийте збереження: = False WordFile.Quit Встановити WordDoc = Нічого не встановлено WordFile = Нічого кінця Sub 

Плюси Excel VBA GetObject

  • Це дуже корисно при імпорті великого набору даних із файлу word у файл excel.
  • Ми можемо імпортувати будь-які дані з будь-якого типу файлів, просто змінивши розширення.

Що потрібно пам’ятати

  • Перед запуском коду закрийте всі файли слів.
  • Надайте належне розширення файлу, який використовується.
  • GetObject не можна використовувати для доступу до посилання на клас.

Рекомендовані статті

Це посібник з GetObject VBA. Тут ми обговорюємо, як використовувати функцію GetObject у VBA для отримання даних із файлу слів у аркуш excel разом із практичним прикладом та завантажуваним шаблоном Excel. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. VBA GetOpenFileName
  2. Інформаційна панель KPI в Excel
  3. Робоча книжка VBA відкрита
  4. Кількість слів Excel
  5. Excel VBA щодо помилки Відновіть далі

Категорія: