Excel VBA GetObject
Úgy tűnik, hogy a VBA GetObject neve neve, hogy létre kell hoznunk egy kódot egy objektum megszerzéséhez vagy létrehozásához. Valójában ez a folyamat, amellyel a táblákat bármilyen szótől Excel fájlokká szerezhetjük. A VBA GetObject programban beolvassa az adatokat egy szófájlból azáltal, hogy megőrzi a tárolási helyet, és tetszőleges számú táblát csatol az adott Wordből az Excel laphoz.
A VBA GetObject szintaxisa
A szintaxist az alábbiak szerint magyarázzuk:
- PathName = Itt megadjuk az utat a Word dokumentumhoz, ahol megőrzik. Ez a mező nem kötelező.
- Class = Itt meg kell határoznunk az Object Class funkciót. Ez túl opcionális. De ha nem definiáljuk a PathName-t a szintaxisban, akkor az Class-nak meg kell határoznia.
A szintaxis mindkét érve nem kötelező. De bárkit meg kell határozni.
Itt az appname.objecttype- t használjuk az osztály meghatározására. Az AppName az alkalmazás vagy a fájltípus, ahonnan lekérjük az adatokat, az Objecttype pedig egy olyan fájl alkalmazás, amelyet használunk.
Példa a GetObject függvényre az Excel VBA-ban
Látni fogjuk, hogyan lehet betölteni az adatokat, amelyek táblázatos formában vannak szódokumentumban, és ezeket az adatokat az Excel munkalaphoz csatolhatjuk.
Itt letöltheti ezt a VBA GetObject Excel sablont - VBA GetObject Excel sablonEhhez ilyen adatokra van szükség a word fájlban. Az alábbiakban van egy szófájl, amelyben 2 táblázat található az Alkalmazott neve és az Alkalmazói azonosító között.
Ezt a fájlt valahova mentettük a helyi meghajtóba, amelyhez könnyen hozzáférhetünk. Kövesse az alábbi lépéseket a GetObject funkció használatához az Excel VBA alkalmazásban.
1. lépés: Lépjen a VBA ablakba, és nyissa meg a modult a Beszúrás menü lapon, az alább látható módon.
2. lépés: Az újonnan megnyílt modulban írja be a VBA GetObject alkategóriáját, vagy válasszon más nevet igénye szerint.
3. lépés: Először határozza meg a 2 objektum változót a VBA GetObject által készített objektum eléréséhez.
4. lépés: Szükségünk lenne egy másik változóra, amelyre a fájl helyét stringként tároljuk.
5. lépés: Hiba esetén a szünet elkerülése érdekében folytatjuk a következő lépést.
6. lépés: Most a GetObject funkciót használjuk, és WordFile objektumként állítjuk be . Ha az elérési utat üresen tartjuk, akkor az osztályt Word.Applicationként definiáljuk, ahol a Word a Microsoft alkalmazása.
7. lépés: A 429-es hibakód elkerülése érdekében, amely általában ebben az esetben fordul elő, töröljük, amint történik.
8. lépés: Most tegye láthatóvá a létrehozott WordFile objektumváltozót.
9. lépés: Mivel még nem határoztuk meg az elérési utat, ezért a fájl helyét hozzárendeljük a StrDoc- hoz a kiterjesztéssel együtt.
10. lépés: Ha nem találtunk semmit a szófájlban, akkor üzenetet kell kapnunk, amely felszólítja a következőt: „Nincs adat elérhető” vagy „A dokumentum nem található”. És ezt megtennénk az If-End If hurokban.
11. lépés: Most aktiválja a Word fájlt.
12. lépés: Tegye ugyanazt az eljárást a WordDoc beállításához. Ha a WordDoc semmi, akkor a fájlt a tárolás helyéről nyitjuk meg.
13. lépés: Most meg kell határoznunk azokat a változókat, amelyek elősegítik a táblázat elérését a Word dokumentumból. Ezzel létre fogunk hozni egy táblázatot sorokkal és oszlopokkal.
14. lépés: Mint mindannyian tudjuk, a sejtek csúcsa kétdimenziós. Tehát az 1. cellából kiindulva szükségünk lenne 2 változóra, ahol meghatározzuk azt a helyet, ahonnan el kell indítanunk táblázatot az Excelben. Itt megvizsgáltuk azt a helyzetet (1, 1), amely a lap első cellájában van.
15. lépés: Ebben a szakaszban ellenőriznünk kell a Word fájl táblázatainak számát. És ha nincsenek táblák, akkor erre üzenetet kell kapnunk.
16. lépés: Ebben a lépésben be kell töltenünk a táblát a Word dokumentumból, és le kell töltenünk azt az Excel fájlban. Ehhez minden sorban és oszlopban a For hurkot fogjuk használni.
17. lépés: Végül kilépünk a dokumentumból, miután az adatokat Word-ből excel fájlba illesztette anélkül, hogy a fájlt mentené.
18. lépés: Most futtassa a fenti kódot az F5 billentyű megnyomásával vagy a Play gombra kattintással.
Látni fogjuk, hogy azokat az adatokat, amelyeket a cikk elején láttunk, és amelyek két különálló táblában külön voltak, most az Excel táblázata egyetlen táblázatában található.
Az alábbiakban látható a teljes kód egy sorozatban:
Kód:
Sub VBA_GetObject () Dim WordFile mint Object Dim WordDoc As Object Dim StrDoc As String On Error Folytatás Következő Set WordFile = GetObject (, "Word.Application") Ha Err.Number = 429 Akkor Err.Clear Set WordFile = CreateObject ("Word. Alkalmazás ") Vége, ha a WordFile.Visible = True StrDoc =" D: \ Input \ Test.docx "Ha Dir (StrDoc) =" "Akkor MsgBox StrDoc & vbCrLf &" Nem található a megadott útvonalon "& vbCrLf &" C: \ Beviteli hely ", vbExclamation, " A dokumentum neve nem található "Kilépés az alsó végből, ha WordFile.Aktiválja a Set WordDoc = WordFile.Documents (StrDoc) beállítást, ha a WordDoc nincs semmi, akkor állítsa be a WordDoc = WordFile.Documents.Open (" D: \ Input \ Test. docx ") WordDoc.Aktiválja a Dim Tble egész számként Dim RowWord Hosszú Dim ColWord Egészként Dim A Hosszú Dim B Ha hosszú A = 1 B = 1 WordDoc Tble = WordDoc.Tables.Count If Tble = 0 majd MsgBox" Nincs táblázat Elérhető ", vbExclamation, " Nincs importálási lehetőség "Kilépés az alsó végbõl, ha i = 1-hez kell táblázni .Táblázatokkal (i) RowWord = 1 -hez. Rows.Count -hoz ColWord = 1 -hoz .Columns.Count cellákhoz (A, B) = MunkalapFunctio n.Clean (.cell (RowWord, ColWord) .Range.Text) B = B + 1 Következő ColWord B = 1 A = A + 1 Következő RowWord Vége a következő véggel a WordDoc.Close Savechanges segítségével: = Hamis WordFile.Quit A WordDoc beállítása = Nothing Set WordFile = Semmi sem vége Sub
Az Excel VBA GetObject előnyei
- Nagyon hasznos a nagy adathalmaz importálása a word fájlból az Excel fájlba.
- Bármilyen adatot bármilyen fájlból importálhatunk, azzal a kiterjesztés megváltoztatásával.
Dolgok, amikre emlékezni kell
- A kód futtatása előtt zárja be az összes szófájlt.
- Adja meg a használt fájl megfelelő kiterjesztését.
- A GetObject nem használható az osztályra való hivatkozás eléréséhez.
Ajánlott cikkek
Ez a VBA GetObject útmutatója. Itt megvitatjuk, hogy hogyan lehet a GetObject funkciót használni a VBA-ban a szófájlok adatainak az Excel lapba való beolvasásához, valamint egy praktikus példát és letölthető Excel sablont. Megnézheti más javasolt cikkeinket -
- VBA GetOpenFileName
- KPI Irányítópult Excelben
- VBA munkafüzet megnyitva
- Excel Word Count
- Excel VBA hiba esetén folytatódik