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 TemplateTä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 -
- VBA GetOpenFileName
- KPI-hallintapaneeli Excelissä
- VBA-työkirja avoinna
- Excel Word -määrä
- Excel VBA On Error jatkaa seuraavaksi