Excel VBA GetObject

Nimi VBA GetObject näyttää siltä, ​​että meidän on luotava koodi objektin saamiseksi tai luomiseksi. Mutta itse asiassa se on prosessi, jolla taulukot saadaan mistä tahansa sanasta excel-tiedostoon. VBA GetObject -sovelluksessa haemme tiedot sanatiedostosta asettamalla sijainti, jossa niitä säilytetään, ja liitämme tietyn määrän taulukoita kyseisestä Wordistä Excel-taulukkoon.

VBA GetObject -syntaksi

Syntaksi selitetään alla esitetyllä tavalla:

  • PathName = Täällä annamme polun Word-asiakirjaan, missä sitä säilytetään. Tämä kenttä on valinnainen.
  • Class = Täällä meidän on määritettävä Object Class -toiminto. Tämä on liian vapaaehtoinen. Mutta jos emme määrittele polunimeä syntaksissa, luokan täytyy määritellä.

Molemmat syntaksin argumentit ovat valinnaisia. Mutta ketään heistä tulisi määritellä.

Käytämme tässä luokan määrittämiseen appname.objecttype . AppName on sovellus tai tiedostotyyppi, josta haemme tietoja, ja Objecttype on sellainen tiedostosovellus, jota käytämme.

Esimerkki GetObject-toiminnosta Excel VBA: ssa

Näemme kuinka hakea sana-asiakirjassa taulukon muodossa olevat tiedot ja lisätä ne Excel-taulukkoon.

Voit ladata tämän VBA GetObject Excel -mallin täältä - VBA GetObject Excel Template

Tätä varten tarvitsemme tällaisia ​​tietoja tekstitiedostossa. Täällä on alla oleva sanatiedosto, jossa on 2 taulukkoa Työntekijän nimi ja Työntekijän tunnus.

Olemme tallentaneet tämän tiedoston jonnekin paikalliseen asemaan, jota on helppo käyttää. Noudata alla olevia vaiheita käyttääksesi GetObject-toimintoa Excel VBA: ssa.

Vaihe 1: Siirry VBA-ikkunaan ja avaa moduuli Lisää- valikko-välilehdeltä alla olevan kuvan mukaisesti.

Vaihe 2: Kirjoita vastikään avattuun moduuliin VBA GetObject -alaluokka tai voit valita minkä tahansa muun nimen tarpeen mukaan.

Vaihe 3: Määritä ensin 2 Object -muuttuja päästäksesi VBA GetObjectin valmistelemaan objektiin.

Vaihe 4: Tarvitsemme toisen muuttujan, jolle tallennamme tiedoston sijainnin merkkijonona.

Vaihe 5: Jotta vältetään tauot, jos tapahtuu virhe, jatkamme seuraavaa vaihetta.

Vaihe 6: Käytämme nyt GetObject-toimintoa ja asetamme sen WordFile- objektiin. Pidämme polun tyhjänä ja määrittelemme luokan Wordiksi.sovellus, jossa Word on Microsoftin sovellus.

Vaihe 7: Välttääksemme virheilmoituksen 429, joka yleensä esiintyy tässä tapauksessa, tyhjennämme sen niin kuin tapahtuu.

Vaihe 8: Tee nyt luotu objektimuuttuja WordFile näkyväksi.

Vaihe 9: Koska emme ole määritelleet polkua, niin määritämme tiedoston sijainnin StrDocille yhdessä laajennuksen kanssa.

Vaihe 10: Jos emme löytäneet mitään sanatiedostosta, meidän pitäisi saada viesti, jossa kehotetaan ilmoittamaan, että tietoja ei ole saatavilla tai asiakirjaa ei löydy. Ja tämä tapahtuisi If-End If -silmukassa.

Vaihe 11: Aktivoi nyt Word-tiedosto.

Vaihe 12: Suorita sama menettely myös WordDocin asettamiseen. Jos WordDoc ei ole mitään, avaamme tiedoston siitä paikasta, jossa sitä pidetään.

Vaihe 13: Nyt meidän on määritettävä muuttujat, jotka auttavat pääsemään taulukkoon Word-asiakirjasta. Sillä luomme taulukon, jossa on rivejä ja sarakkeita.

Vaihe 14: Kuten kaikki tiedämme, solujen kärkipiste on kaksiulotteinen. Joten alkaen ensimmäisestä solusta, tarvitsisimme 2 muuttujaa, jossa määritetään sijainti mistä meidän on aloitettava taulukko Excelissä. Tässä olemme tarkastelleet sitä sijaintia (1, 1), joka on arkin 1. solussa.

Vaihe 15: Tässä vaiheessa meidän on tarkistettava Word-tiedoston taulukkojen määrä. Ja jos taulukoita ei löydy, meidän pitäisi saada viesti siitä.

Vaihe 16: Tässä vaiheessa meidän on käytettävä taulukkoa Word-asiakirjasta ja kartoitettava se Excel-tiedostossa. Tätä varten käytämme For silmukkaa jokaiselle riville ja sarakkeelle.

Vaihe 17: Viimeinkin lopetamme asiakirjan, kun se lisää tiedot Wordistä Excel-tiedostoon tallentamatta tiedostoa.

Vaihe 18: Suorita nyt yllä oleva koodi painamalla F5-näppäintä tai napsauttamalla Toista-painiketta.

Näemme, että tiedot, jotka olemme nähneet artikkelin alussa, joka oli erillinen kahdessa eri taulukossa, on nyt lisätty yhteen taulukkoon excel-taulukossa.

Alla on täydellinen koodi yhdessä järjestyksessä:

Koodi:

 Sub VBA_GetObject () Dim WordFile kuin Object Dim WordDoc Koska Object Dim StrDoc As String On Error Jatka Seuraava Aseta WordFile = GetObject (, "Word.Application") Jos Err.Number = 429 Sitten Err.Clear Aseta WordFile = CreateObject ("Word. Sovellus ") Lopeta, jos WordFile.Visible = True StrDoc =" D: \ Input \ Test.docx "Jos Dir (StrDoc) =" "Sitten MsgBox StrDoc & vbCrLf &" Ei löydy mainitussa polussa "& vbCrLf &" C: \ Syöttöpaikka ", vbExclamation, " Asiakirjan nimeä ei löydy "Poistu alapäästä, jos WordFile.Aktivoi Aseta WordDoc = WordFile.Documents (StrDoc) Jos WordDoc ei ole mitään, aseta sitten WordDoc = WordFile.Documents.Open (" D: \ Input \ Test. docx ") WordDoc.Aktivoi Dim Tble kokonaislukuna Dim RowWord yhtä kauan Dim ColWord Kokonaisarvona Dim A Pikana Dim B Pitkä A = 1 B = 1 WordDoc Tble = WordDoc.Tables.Count If Tble = 0 Sitten MsgBox" Ei taulukoita Käytettävissä ", vbExclamation, " Mitään tuotavaa "Poistu alapäästä Jos Jos i = 1 Tarvitaan .Taulukoiden kanssa (i) RowWord = 1 Kohteeseen .Rows.Count ColWord = 1 Kohteeseen .Columns.Count Cells (A, B) = Työarkkifunktio n.Clean (.cell (RowWord, ColWord) .Range.Text) B = B + 1 Next ColWord B = 1 A = A + 1 Next RowWord End with the Next End with WordDoc.Close Savechanges: = False WordFile.Quit Set WordDoc = Ei mitään asettaa WordFile = Ei mitään loppua 

Plussat Excel VBA GetObjectista

  • Se on varsin hyödyllinen tuomalla suuri joukko tiedostoja Word-tiedostosta Excel-tiedostoon.
  • Voimme tuoda kaikenlaista tietoa mistä tahansa tiedostosta vain muuttamalla sen laajennusta.

Muistettavat asiat

  • Sulje kaikki sanatiedostot ennen koodin suorittamista.
  • Anna käytettävälle tiedostolle oikea laajennus.
  • GetObject-ohjelmaa ei voida käyttää viittaukseen luokkaan.

Suositellut artikkelit

Tämä on opas VBA GetObjectiin. Tässä keskustellaan siitä, kuinka VOA: n GetObject-toimintoa voidaan käyttää noutamaan tietoja sanatiedostosta Excel-taulukkoon käytännön esimerkin ja ladattavan Excel-mallin avulla. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA GetOpenFileName
  2. KPI-hallintapaneeli Excelissä
  3. VBA-työkirja avoinna
  4. Excel Word -määrä
  5. Excel VBA On Error jatkaa seuraavaksi

Luokka: