GetObject programu Excel VBA

Zdá sa, že názov VBA GetObject je potrebný na vytvorenie kódu na získanie alebo vytvorenie objektu. Ale v skutočnosti je to proces získavania tabuliek z ľubovoľného slova do súboru Excel. Vo VBA GetObject získavame údaje zo súboru slov umiestnením umiestnenia, kde sú uložené, a pridaním ľubovoľného počtu tabuliek z tohto programu Word do hárka Excel.

Syntax VBA GetObject

Syntax je vysvetlená, ako je uvedené nižšie:

  • PathName = Tu dáme cestu k dokumentu Word, kde sa uchováva. Toto pole je voliteľné.
  • Class = Tu musíme definovať funkciu Class of Object. Tento je príliš voliteľný. Ale ak nedefinujeme názov cesty v syntaxi, trieda sa musí definovať.

Oba argumenty syntaxe sú voliteľné. Každý z nich by však mal byť definovaný.

Na definovanie triedy tu použijeme appname.objecttype . AppName bude aplikácia alebo typ súboru, z ktorého budeme načítavať údaje a Objecttype bude druh aplikácie súboru, ktorú budeme používať.

Príklad funkcie GetObject v programe Excel VBA

Uvidíme, ako načítať údaje, ktoré sú vo forme tabuľky, do textového dokumentu a tieto údaje pridať do pracovného hárka programu Excel.

Túto šablónu VBA GetObject Excel si môžete stiahnuť tu - VBA GetObject Excel Template

Preto požadujeme takéto údaje v súboroch slov. Nižšie uvádzame textový súbor, ktorý obsahuje 2 tabuľky mena zamestnanca a ID zamestnanca.

Tento súbor sme uložili niekde na náš lokálny disk, ktorý je ľahko dostupný. Ak chcete použiť funkciu GetObject v programe Excel VBA, postupujte podľa nasledujúcich krokov.

Krok 1: Prejdite do okna VBA a otvorte modul na karte ponuky Vložiť, ako je to znázornené nižšie.

Krok 2: Do novo otvoreného modulu napíšte podkategóriu VBA GetObject alebo môžete podľa potreby zvoliť ľubovoľný iný názov.

Krok 3: Najskôr definujte premennú 2 Object, aby ste sa dostali k objektu pripravenému programom VBA GetObject.

Krok 4: Potrebovali by sme inú premennú, pre ktorú uložíme umiestnenie súboru ako reťazec.

Krok 5: Aby nedošlo k prerušeniu, ak sa vyskytne chyba, budeme pokračovať v ďalšom kroku.

Krok 6: Teraz by sme použili funkciu GetObject a nastavili ju ako objekt WordFile . Ak ponecháme cestu prázdnu, definujeme triedu ako Word.Application, kde Word je aplikácia spoločnosti Microsoft.

Krok 7: Aby sme sa vyhli chybe číslo 429, ktorá sa zvyčajne vyskytuje v tomto prípade, vymažeme ju podľa toho, ako sa stane.

Krok 8: Teraz zviditeľnite vytvorenú premennú objektu WordFile .

Krok 9: Keďže sme nedefinovali cestu, priradíme umiestnenie súboru StrDoc spolu s príponou.

Krok 10: Ak sme v textovom súbore nenašli nič, mali by sme dostať správu s výzvou „Žiadne údaje nie sú k dispozícii“ alebo „Dokument nebol nájdený“. A to by sa urobilo v slučke If-End If.

Krok 11: Teraz aktivujte súbor programu Word.

Krok 12: Rovnaký postup urobte aj pre nastavenie programu WordDoc. Ak WordDoc nie je nič, otvoríme súbor z miesta, kde sa uchováva.

Krok 13: Teraz budeme musieť definovať premenné, ktoré pomôžu pri prístupe k tabuľke z dokumentu programu Word. Týmto vytvoríme tabuľku s riadkami a stĺpcami.

Krok 14: Ako všetci vieme, vrchol buniek je dvojrozmerný. Takže od 1. bunky by sme potrebovali 2 premennú, kde budeme definovať miesto, odkiaľ musíme začať s tabuľkou v Exceli. Tu sme uvažovali o polohe (1, 1), ktorá je v 1. bunke listu.

Krok 15: V tejto fáze musíme skontrolovať počet tabuliek v súbore programu Word. A ak nenájdeme žiadne tabuľky, mali by sme za to dostať správu.

Krok 16: V tomto kroku musíme pristupovať k tabuľke z dokumentu programu Word a mapovať ju v súbore Excel. Na tento účel použijeme slučku For pre každý riadok a stĺpec.

Krok 17: Nakoniec ukončíme dokument po pripojení údajov zo slova do súboru Excel bez uloženia súboru.

Krok 18: Teraz spustite vyššie uvedený kód stlačením klávesu F5 alebo kliknutím na tlačidlo Prehrať.

Uvidíme, údaje, ktoré sme videli na začiatku článku, ktoré boli oddelené v 2 rôznych tabuľkách, sa teraz pripoja do jednej tabuľky v excelovom hárku.

Nižšie je uvedený kompletný kód v jednej sekvencii:

kód:

 Sub VBA_GetObject () Dim WordFile ako objekt Dim WordDoc ako Object Dim StrDoc ako Reťazec pri chybe Pokračovanie Ďalší Set WordFile = GetObject (, "Word.Application") If Err.Number = 429 Potom Err.Clear Set WordFile = CreateObject ("Word. Application ") End If WordFile.Visible = True StrDoc =" D: \ Input \ Test.docx "If Dir (StrDoc) =" "Potom MsgBox StrDoc & vbCrLf &" Nenájdené v uvedenej ceste "& vbCrLf &" C: \ Zadanie umiestnenia ", vbExclamation, " Názov dokumentu nebol nájdený "Ukončiť Sub End If WordFile.Activate Nastaviť WordDoc = WordFile.Documents (StrDoc) Ak WordDoc nič nestanoví, potom nastavte WordDoc = WordFile.Documents.Open (" D: \ Input \ Test. docx ") WordDoc.Activate Dim Tble 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 Then MsgBox" No Tables Dostupné ", vbExclamation, " Nič na import "Ukončenie Sub End, ak pre i = 1 do tabuľky s .Tabuľky (i) pre RowWord = 1 do .Rows.Count pre ColWord = 1 do .Columns.Count buniek (A, B) = WorksheetFunctio n.Clean (.cell (RowWord, ColWord) .Range.Text) B = B + 1 Next ColWord B = 1 A = A + 1 Next RowWord End With Next End With WordDoc.Close Savechanges: = False WordFile.Quit Set WordDoc = Nič nastavené WordFile = nič koncové sub 

Výhody programu Excel VBA GetObject

  • Je to celkom užitočné pri importovaní veľkej sady údajov zo súboru s textom do súboru Excel.
  • Môžeme importovať akékoľvek dáta z ľubovoľného súboru jednoducho zmenou jeho rozšírenia.

Čo je potrebné pamätať

  • Pred spustením kódu zatvorte všetky súbory slov.
  • Použite správny súbor.
  • GetObject sa nemôže použiť na prístup k odkazu na triedu.

Odporúčané články

Toto je sprievodca VBA GetObject. Tu diskutujeme o tom, ako používať funkciu GetObject vo VBA na načítanie údajov zo súboru slov do excelovského hárku spolu s praktickým príkladom a stiahnuteľnou excel šablónou. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. VBA GetOpenFileName
  2. Informačný panel KPI v Exceli
  3. Otvorený zošit VBA
  4. Počet slov Excel
  5. Excel VBA On Error Resume Next

Kategórie: