Excel VBA GetObject

VBA GetObject, som navnet, ser ud til, at vi er nødt til at oprette en kode til at få eller oprette et objekt. Men faktisk er det processen med at få tabellerne fra ethvert ord til excel-fil. I VBA GetObject henter vi dataene fra en ordfil ved at placere det sted, hvor de opbevares, og tilføje et hvilket som helst antal tabeller fra det Word i Excel-arket.

Syntaks for VBA GetObject

Syntaks forklares som vist nedenfor:

  • PathName = Her giver vi stien til Word-dokumentet, hvor det opbevares. Dette felt er valgfrit.
  • Klasse = Her skal vi definere funktionen Klasse af objekt. Denne er for valgfri. Men hvis vi ikke definerer stienavn i syntaks, skal klasse være nødvendigt at definere.

Begge syntaksens argumenter er valgfri. Men enhver af dem skal defineres.

Her bruger vi appname.objecttype til at definere klassen. AppName vil være applikationen eller filtypen, som vi henter dataene fra, og Objecttype vil være den slags filapplikation, vi bruger.

Eksempel på GetObject-funktion i Excel VBA

Vi vil se, hvordan man henter dataene, der er i form af tabel i et orddokument, og tilføjer disse data i Excel-regnearket.

Du kan downloade denne VBA GetObject Excel-skabelon her - VBA GetObject Excel-skabelon

Til dette kræver vi sådanne data i ordfil. Her har vi en ordefil nedenfor, som har 2 tabeller over medarbejdernavnet og medarbejder-id.

Vi har gemt denne fil et eller andet sted i vores lokale drev, som er let at få adgang til. Følg nedenstående trin for at bruge GetObject-funktion i Excel VBA.

Trin 1: Gå til VBA-vinduet, og åbn et modul fra fanebladet Indsæt som vist nedenfor.

Trin 2: I det nyåbnede modul skal du skrive underkategorien til VBA GetObject, eller du kan vælge ethvert andet navn efter behov.

Trin 3: Definér først den 2 objektvariabel for at få adgang til det objekt, der er forberedt af VBA GetObject.

Trin 4: Vi har brug for en anden variabel, som vi vil gemme placeringen af ​​File som streng.

Trin 5: For at undgå brud, hvis der opstår en fejl, fortsætter vi med det næste trin.

Trin 6: Nu vil vi bruge GetObject-funktionen og indstille den til WordFile- objekt. Ved at holde stien tom, definerer vi klassen som Word.Application, hvor Word er applikationen af ​​Microsoft.

Trin 7: For at undgå fejl nummer 429, der normalt opstår i dette tilfælde, rydder vi det, som det sker.

Trin 8: Gør nu den oprettede objektvariabel WordFile synlig.

Trin 9: Da vi ikke har defineret stien, tildeler vi filplacering til StrDoc sammen med udvidelsen.

Trin 10: Hvis vi ikke fandt noget i ordfilen, skulle vi få en meddelelse, der beder om, at "Ingen data er tilgængelige" eller "Dokument ikke fundet". Og dette ville ske i If-End If-loop.

Trin 11: Aktiver nu Word-filen.

Trin 12: Udfør også den samme procedure for indstilling af WordDoc. Hvis WordDoc ikke er noget, åbner vi filen fra det sted, hvor den opbevares.

Trin 13: Nu bliver vi nødt til at definere de variabler, der hjælper med at få adgang til tabellen fra Word-dokument. På dette tidspunkt opretter vi en tabel med rækker og kolonner.

Trin 14: Som vi alle ved, er cellernes toppunkt 2-dimensionelt. Så startende fra 1. celle, vi har brug for 2 variabler, hvor vi definerer det sted, hvorfra vi har brug for at starte vores tabel i Excel. Her har vi overvejet den position ved (1, 1), der er ved 1. stens celle på arket.

Trin 15: På dette tidspunkt skal vi kontrollere antallet af tabeller i Word-fil. Og hvis der ikke findes nogen tabeller, skulle vi få beskeden til det.

Trin 16: I dette trin er vi nødt til at få adgang til tabellen fra Word-dokument og kortlægge den i Excel-fil. Til dette vil vi bruge For-loop for hver række og kolonne.

Trin 17: Til sidst afslutter vi dokumentet, når det tilføjer dataene fra word til excel-fil uden at gemme filen.

Trin 18: Kør nu ovenstående kode ved at trykke på F5-tasten eller ved at klikke på knappen Play.

Vi vil se, de data, som vi har set ved starten af ​​artiklen, der var adskilt i 2 forskellige tabeller, er nu tilføjet i en enkelt tabel i excelarket.

Nedenfor er den komplette kode i en rækkefølge:

Kode:

 Sub VBA_GetObject () Dim WordFile Som objekt Dim WordDoc Som objekt Dim StrDoc som streng på fejl Genoptag Næste sæt WordFile = GetObject (, "Word.Application") Hvis Err.Number = 429 Derefter Err.Clear Sæt WordFile = CreateObject ("Word. Program ") Slut Hvis WordFile.Visible = True StrDoc =" D: \ Input \ Test.docx "Hvis Dir (StrDoc) =" "Derefter MsgBox StrDoc & vbCrLf &" Ikke fundet i den nævnte sti "& vbCrLf &" C: \ Input Location ", vbExclamation, " Document name not found "Exit Sub End If WordFile.Activate Set WordDoc = WordFile.Documents (StrDoc) Hvis WordDoc ikke er noget, skal du indstille WordDoc = WordFile.Documents.Open (" D: \ Input \ Test. docx ") WordDoc.Activate Dim Tble Som Heltal Dim RowWord Som Long Dim ColWord Som Heltal 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 Tilgængelig ", vbExclamation, " Intet at importere "Exit Sub End Hvis For i = 1 at binde med .Tables (i) For RowWord = 1 To. Rows.Count for ColWord = 1 Til .Columns. Antal celler (A, B) = ArbejdsarkFunktion 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 = Intet sæt WordFile = Intet slut Sub 

Fordele ved Excel VBA GetObject

  • Det er meget nyttigt at importere det store datasæt fra ordfil til Excel-fil.
  • Vi kan importere enhver form for data fra enhver form for fil bare ved at ændre udvidelsen af ​​dem.

Ting at huske

  • Luk alle ordfiler, før du kører koden.
  • Giv den rette udvidelse til den fil, der bruges.
  • GetObject kan ikke bruges til at få adgang til referencen til klassen.

Anbefalede artikler

Dette er en guide til VBA GetObject. Her diskuterer vi, hvordan man bruger GetObject-funktion i VBA til at hente dataene fra en ordfil i excelarket sammen med et praktisk eksempel og en downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. VBA GetOpenFileName
  2. KPI Dashboard i Excel
  3. VBA Workbook Open
  4. Excel Word Count
  5. Excel VBA ved fejl Genoptag næste

Kategori: