Excel VBA GetObject

VBA GetObject, ca și nume, pare că trebuie să creăm un cod pentru obținerea sau crearea unui obiect. Dar, de fapt, este procesul de a obține tabelele de la orice cuvânt la fișier excel. În VBA GetObject, preluăm datele dintr-un fișier cuvânt, punând locația în care sunt păstrate și adăugăm în foaia Excel orice număr de tabele din cuvântul respectiv.

Sintaxa VBA GetObject

Sintaxa este explicată după cum se arată mai jos:

  • PathName = Aici vom oferi calea către documentul Word unde este păstrat. Acest câmp este opțional.
  • Class = Aici, trebuie să definim funcția Class of Object. Acesta este prea opțional. Dar dacă nu definim PathName în sintaxa, atunci Clasa va trebui să definească.

Ambele argumente ale sintaxei sunt opționale. Dar oricine dintre ei ar trebui definit.

Aici, vom folosi appname.objecttype pentru a defini Clasa. AppName va fi aplicația sau tipul de fișier din care vom prelua datele și Obiectul va fi un fel de aplicație de fișier pe care o vom folosi.

Exemplu de funcție GetObject în Excel VBA

Vom vedea cum să aducem datele care sunt sub formă de tabel într-un document word și să anexăm aceste date în foaia de lucru Excel.

Puteți descărca acest șablon VBA GetObject Excel aici - Șablonul VBA GetObject Excel

Pentru aceasta, avem nevoie de astfel de date în fișierul word. Aici, avem un fișier word mai jos, care are 2 tabele cu numele angajatului și ID-ul angajatului.

Am salvat acest fișier undeva în unitatea noastră locală, care este ușor de accesat. Urmați pașii de mai jos pentru a utiliza funcția GetObject în Excel VBA.

Pasul 1: Accesați fereastra VBA și deschideți un modul din fila Meniu Insert, așa cum se arată mai jos.

Pasul 2: În modulul nou deschis, scrieți subcategoria VBA GetObject sau puteți alege orice alt nume după necesitate.

Pasul 3: Mai întâi, definiți variabila 2 obiect pentru a accesa obiectul pregătit de VBA GetObject.

Pasul 4: Avem nevoie de o altă variabilă pentru care vom stoca locația fișierului ca String.

Pasul 5: Pentru a evita orice pauză dacă apare o eroare, vom continua reluarea pasului următor.

Pasul 6: Acum vom folosi funcția GetObject și o vom seta ca obiect WordFile . Păstrând calea goală, vom defini clasa ca Word.Application unde Word este aplicația Microsoft.

Pasul 7: Pentru a evita numărul de eroare 429 care apare de obicei în acest caz, îl vom șterge așa cum se întâmplă.

Pasul 8: Acum faceți vizibilă variabila obiect WordFile creată .

Pasul 9: Întrucât nu am definit calea, vom atribui locația fișierului StrDoc împreună cu extensia.

Pasul 10: Dacă nu am găsit nimic în fișierul word, atunci ar trebui să primim un mesaj care să solicite „Nu există date disponibile” sau „Documentul nu a fost găsit”. Și acest lucru ar fi făcut în bucla If-End If.

Pasul 11: Acum activează fișierul Word.

Pasul 12: Faceți aceeași procedură pentru setarea WordDoc. Dacă WordDoc nu este nimic, atunci vom deschide fișierul din locația în care este păstrat.

Pasul 13: Acum va trebui să definim variabilele care vor ajuta la accesarea tabelului din documentul Word. Prin aceasta vom crea o tabelă cu rânduri și coloane.

Pasul 14: După cum știm cu toții vertexul celulelor este de două dimensiuni. Deci, începând cu celula 1, am avea nevoie de 2 variabile unde vom defini locația de unde trebuie să începem tabelul în Excel. Aici, am considerat acea poziție la (1, 1) care se află la prima celulă a foii.

Pasul 15: În această etapă, trebuie să verificăm numărul de tabele din fișierul Word. Și dacă nu sunt găsite tabele, atunci ar trebui să primim mesajul pentru asta.

Pasul 16: În acest pas, trebuie să accesăm tabelul din documentul Word și harta în fișierul Excel. Pentru aceasta, vom folosi Pentru buclă pentru fiecare rând și coloană.

Pasul 17: În sfârșit, vom renunța la document, odată ce adaugă datele din word în excel, fără a fi salvat.

Pasul 18: Acum rulați codul de mai sus apăsând tasta F5 sau făcând clic pe butonul Redare.

Vom vedea, datele pe care le-am văzut la începutul articolului, care erau separate în 2 tabele diferite, sunt acum adăugate într-un singur tabel din foaia excel.

Mai jos este codul complet într-o secvență:

Cod:

 Sub VBA_GetObject () Dim WordFile ca obiect Dim WordDoc ca obiect Dim StrDoc ca șir de eroare Reiază setul următor WordFile = GetObject (, "Word.Application") Dacă Err.Number = 429 Atunci Err.Clear Set WordFile = CreateObject ("Word". Aplicație ") End If WordFile.Visible = True StrDoc =" D: \ Input \ Test.docx "If Dir (StrDoc) =" "Atunci MsgBox StrDoc & vbCrLf &" Nu se găsește în Calea menționată "& vbCrLf &" C: \ Locație de intrare ", vbExclamation, " Numele documentului nu a fost găsit "Ieșire Sub End If WordFile.Activate Set WordDoc = WordFile.Documents (StrDoc) If WordDoc Is Nothing Now Set WordDoc = WordFile.Documents.Open (" D: \ Input \ Test. docx ") WordDoc.Activați Dim Tble As Integer Dim RowWord As Long Dim ColWord As Integer Dim A As Long Dim B As Long A = 1 B = 1 With WordDoc Tble = WordDoc.Tables.Count If Tble = 0 Atunci MsgBox" No Tables Disponibil ", vbExclamation, „ Nimic de importat "Ieșește capătul final Dacă Pentru i = 1 To Tble With. Tables (i) For RowWord = 1 To. Rows.Count For ColWord = 1 To .Columns.Count Cells (A, B) = WorksheetFunctio n.Clean (.cell (RowWord, ColWord) .Range.Text) B = B + 1 Următorul ColWord B = 1 A = A + 1 Next RowWord End with Next End with WordDoc.Close Close Savechanges: = False WordFile.Quit Set WordDoc = Nimic Set WordFile = Nimic Sub final 

Beneficiile Excel VBA GetObject

  • Este destul de util în importarea setului mare de date din fișierul word în fișier excel.
  • Putem importa orice fel de date din orice fel de fișier doar modificând extensia acestuia.

Lucruri de amintit

  • Închideți toate fișierele de cuvinte înainte de a rula codul.
  • Dați extensia corespunzătoare fișierului care este utilizat.
  • GetObject nu poate fi utilizat pentru a accesa referința la clasă.

Articole recomandate

Acesta este un ghid pentru VBA GetObject. Aici vom discuta despre cum să utilizăm funcția GetObject în VBA pentru a obține datele dintr-un fișier cuvânt în foaia excel, împreună cu un exemplu practic și un șablon excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. VBA GetOpenFileName
  2. Tablou de bord KPI în Excel
  3. Carte de lucru VBA deschisă
  4. Numărul de cuvinte Excel
  5. Excel VBA pe eroare reluă Următorul

Categorie: