Excel VBA GetObject

VBA GetObject, som navnet, virker som vi trenger å lage en kode for å få eller opprette et objekt. Men faktisk er det prosessen med å få tabellene fra alle ord til Excel-filer. I VBA GetObject henter vi dataene fra en ordfil ved å plassere stedet der de er lagret og legge til et hvilket som helst antall tabeller fra det Word i Excel-arket.

Syntaks for VBA GetObject

Syntaks forklares som vist nedenfor:

  • PathName = Her vil vi gi banen til Word-dokumentet der det oppbevares. Dette feltet er valgfritt.
  • Klasse = Her må vi definere Class of Object-funksjonen. Denne er for valgfri. Men hvis vi ikke definerer banenavn i syntaksen, vil klasse være å definere.

Begge argumentene for syntaks er valgfrie. Men hvem som helst av dem bør defineres.

Her vil vi bruke appname.objecttype for å definere klassen. AppName vil være applikasjonen eller filtypen vi vil hente dataene fra, og Objecttype vil være en slags filapplikasjon vi bruker.

Eksempel på GetObject-funksjon i Excel VBA

Vi får se hvordan du kan hente dataene som er i form av tabell i et orddokument og legge ved data i Excel-regnearket.

Du kan laste ned denne VBA GetObject Excel-malen her - VBA GetObject Excel-mal

For dette krever vi slike data i ordfil. Her har vi en ordefil nedenfor, som har 2 tabeller med ansattes navn og ansattes ID.

Vi har lagret denne filen et sted i den lokale stasjonen som er lett tilgjengelig. Følg trinnene nedenfor for å bruke GetObject-funksjonen i Excel VBA.

Trinn 1: Gå til VBA-vinduet og åpne en modul fra Sett inn menyfanen som vist nedenfor.

Trinn 2: Skriv den underkategorien til VBA GetObject i den nyåpnede modulen, eller du kan velge hvilket som helst annet navn etter behov.

Trinn 3: Definer først variabelen 2 for å få tilgang til objektet utarbeidet av VBA GetObject.

Trinn 4: Vi trenger en annen variabel som vi vil lagre plasseringen til File som streng.

Trinn 5: For å unngå brudd hvis det oppstår en feil, fortsetter vi neste trinn.

Trinn 6: Nå vil vi bruke GetObject-funksjonen og sette den som WordFile- objekt. Når du holder banen tom, definerer vi klassen som Word. Søknad der Word er applikasjonen til Microsoft.

Trinn 7: For å unngå feil nummer 429 som vanligvis oppstår i dette tilfellet, vil vi fjerne det mens det skjer.

Trinn 8: Gjør nå den opprettede objektvariabelen WordFile synlig.

Trinn 9: Ettersom vi ikke har definert banen, så tilordner vi filplassering til StrDoc sammen med utvidelsen.

Trinn 10: Hvis vi ikke fant noe i ordfilen, bør vi få en melding om at "Ingen data er tilgjengelige" eller "Dokument ikke funnet". Og dette vil bli gjort i If-End If loop.

Trinn 11: Aktiver nå Word-filen.

Trinn 12: Gjør samme prosedyre for å stille inn WordDoc også. Hvis WordDoc ikke er noe, åpner vi filen fra stedet der den er oppbevart.

Trinn 13: Nå må vi definere variablene som vil hjelpe til med å få tilgang til tabellen fra Word-dokument. Ved å lage et bord med rader og kolonner.

Trinn 14: Som vi alle vet, er toppunktet til celler todimensjonalt. Så fra en første celle trenger vi 2 variabler der vi vil definere stedet der vi trenger for å starte tabellen i Excel. Her har vi vurdert den posisjonen ved (1, 1) som ligger i den første cellen på arket.

Trinn 15: På dette stadiet må vi sjekke antall tabeller i Word-fil. Og hvis det ikke finnes noen tabeller, bør vi få beskjeden for det.

Trinn 16: I dette trinnet må vi få tilgang til tabellen fra Word-dokument og kartlegge den i Excel-fil. For dette vil vi bruke For loop for hver rad og kolonne.

Trinn 17: Til slutt vil vi avslutte dokumentet når det legges til data fra Word til Excel uten å lagre filen.

Trinn 18: Kjør nå koden ovenfor ved å trykke på F5-tasten eller ved å klikke på Spill-knappen.

Vi vil se, dataene vi har sett i starten av artikkelen som var atskilte i to forskjellige tabeller, er nå lagt til i en enkelt tabell i excel-arket.

Nedenfor er den komplette koden i en sekvens:

Kode:

 Sub VBA_GetObject () Dim WordFile Som Object Dim WordDoc Som Object Dim StrDoc Som streng på feil Fortsett Neste sett WordFile = GetObject (, "Word.Application") Hvis Err.Number = 429 Så Err.Clear Sett WordFile = CreateObject ("Word. Applikasjon ") Slutt Hvis WordFile.Visible = True StrDoc =" D: \ Input \ Test.docx "Hvis Dir (StrDoc) =" "Da MsgBox StrDoc & vbCrLf &" Ikke funnet i nevnte bane "& vbCrLf &" C: \ Input Location ", vbExclamation, " Document name not found "Exit Sub End If WordFile.Activate Set WordDoc = WordFile.Documents (StrDoc) Hvis WordDoc er ingenting, sett deretter WordDoc = WordFile.Documents.Open (" D: \ Input \ Test. docx ") WordDoc.Activate Dim Tble As Heiltall Dim RowWord As Long Dim ColWord Som Heiltall Dim A As Long Dim B As Long A = 1 B = 1 With WordDoc Tble = WordDoc.Tables.Count If Tble = 0 Then MsgBox" Ingen tabeller Tilgjengelig ", vbExclamation, " Ingenting å importere "Avslutt subend hvis for i = 1 å binde med. Tabeller (i) For RowWord = 1 til. Rows.Count for ColWord = 1 til. Columns.Count Cells (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 Sett WordDoc = Nothing Set WordFile = Nothing End Sub 

Fordeler med Excel VBA GetObject

  • Det er ganske nyttig når du importerer det store settet med data fra Word-fil til Excel-fil.
  • Vi kan importere alle slags data fra alle slags filer bare ved å endre utvidelsen av den.

Ting å huske

  • Lukk alle ordfilene før du kjører koden.
  • Gi riktig utvidelse til filen som blir brukt.
  • GetObject kan ikke brukes til å få tilgang til referansen til klassen.

Anbefalte artikler

Dette er en guide til VBA GetObject. Her diskuterer vi hvordan du bruker GetObject-funksjonen i VBA for å hente dataene fra en ordfil i excelarket sammen med et praktisk eksempel og nedlastbar excelmal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA GetOpenFileName
  2. KPI Dashboard i Excel
  3. VBA arbeidsbok åpen
  4. Excel Word Count
  5. Excel VBA Ved feil CV igjen

Kategori: