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

Ще видим как да извлечем данните, които са под формата на таблица, в документ с думи и да ги добавим в работния лист на Excel.

Можете да изтеглите този шаблон на VBA GetObject Excel тук - VBA шаблон на GetObject Excel

За целта се нуждаем от такива данни в word файл. Ето, ние имаме файл с думи по-долу, който има 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 или кликнете върху бутона Възпроизвеждане.

Ще видим, данните, които видяхме в началото на статията, която беше отделна в 2 различни таблици, сега са добавени в една таблица в листа на excel.

По-долу е пълният код в една последователност:

Код:

 Под VBA_GetObject () Dim WordFile като обект Dim WordDoc като обект Dim StrDoc като низ при грешка Възобновяване Следващ Задайте WordFile = GetObject (, "Word.Application") Ако Err.Number = 429 Тогава Err.Clear Set 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 Set 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" няма таблици Налични ", vbExclamation, " Няма за импортиране "Излезте от Sub End Ако за i = 1 За Tble с .Tables (i) За RowWord = 1 To .Rows.Count For ColWord = 1 To .Columns.Count Cells (A, B) = Работен листFunctio n.Clean (.cell (RowWord, ColWord) .Range.Text) B = B + 1 Следващ ColWord B = 1 A = A + 1 Следващ край на редовете със следващия край с WordDoc.Затворете Записите: = False WordFile.Quit Set WordDoc = Нищо не е зададено WordFile = Нищо не е завършено 

Плюсове на Excel VBA GetObject

  • Доста полезен е при импортирането на големия набор от данни от word file във файл excel.
  • Ние можем да импортираме всякакъв вид данни от всякакъв вид файлове, само като променим разширението на него.

Неща, които трябва да запомните

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

Препоръчителни статии

Това е ръководство за VBA GetObject. Тук обсъждаме как да използваме функцията GetObject във VBA за извличане на данни от текстов файл в листа на excel заедно с практически пример и шаблон за изтегляне на excel. Можете да разгледате и другите ни предложени статии -

  1. VBA GetOpenFileName
  2. KPI табло за управление в Excel
  3. Работна книга VBA отворена
  4. Брой на Word Excel
  5. Excel VBA при грешка Възобновете се нататък

Категория: