Excel VBA GetObject

VBA GetObject, come il nome, sembra che dobbiamo creare un codice per ottenere o creare un oggetto. Ma in realtà, è il processo per ottenere le tabelle da qualsiasi parola per eccellere file. In VBA GetObject, recuperiamo i dati da un file di parole inserendo la posizione in cui sono conservati e aggiungendo un numero qualsiasi di tabelle da quella parola nel foglio Excel.

Sintassi di VBA GetObject

La sintassi è spiegata come mostrato di seguito:

  • PathName = Qui daremo il percorso al documento Word in cui è conservato. Questo campo è facoltativo
  • Class = Qui, dobbiamo definire la funzione Class of Object. Questo è troppo opzionale. Ma se non stiamo definendo PathName nella sintassi, sarà necessario definire Class.

Entrambi gli argomenti della sintassi sono facoltativi. Ma qualcuno di loro dovrebbe essere definito.

Qui, useremo appname.objecttype per definire la classe. AppName sarà l'applicazione o il tipo di file da cui verranno recuperati i dati e Objecttype sarà il tipo di applicazione di file che utilizzeremo.

Esempio di funzione GetObject in Excel VBA

Vedremo come recuperare i dati sotto forma di tabella in un documento di Word e aggiungere tali dati nel foglio di lavoro di Excel.

Puoi scaricare questo modello VBA GetObject Excel qui - Modello VBA GetObject Excel

Per questo, abbiamo bisogno di tali dati in file di parole. Qui, abbiamo un file di parole qui sotto, che ha 2 tabelle di Nome dipendente e ID dipendente.

Abbiamo salvato questo file da qualche parte nel nostro disco locale, di facile accesso. Seguire i passaggi seguenti per utilizzare la funzione GetObject in Excel VBA.

Passaggio 1: vai alla finestra VBA e apri un modulo dalla scheda del menu Inserisci come mostrato di seguito.

Passo 2: Nel modulo appena aperto, scrivi la sottocategoria di VBA GetObject oppure puoi scegliere qualsiasi altro nome secondo necessità.

Passaggio 3: Innanzitutto, definire la variabile 2 oggetti per accedere all'oggetto preparato da VBA GetObject.

Passaggio 4: avremmo bisogno di un'altra variabile per la quale memorizzeremo la posizione di File come stringa.

Passaggio 5: per evitare interruzioni in caso di errore, riprenderemo il passaggio successivo.

Passaggio 6: ora utilizziamo la funzione GetObject e la impostiamo come oggetto WordFile . Mantenendo vuoto Path, definiremo la classe come Word.Application in cui Word è l'applicazione di Microsoft.

Passaggio 7: per evitare l'errore numero 429 che di solito si verifica in questo caso, lo elimineremo nel momento in cui si verifica.

Passaggio 8: ora rendere visibile la variabile oggetto creata WordFile .

Passaggio 9: poiché non abbiamo definito il percorso, assegneremo la posizione del file a StrDoc insieme all'estensione.

Passo 10: Se non abbiamo trovato nulla nel file word, dovremmo ricevere un messaggio che richiede "Nessun dato disponibile" o "Documento non trovato". E questo sarebbe fatto nel ciclo If-End If.

Passaggio 11: ora attiva il file di Word.

Passaggio 12: eseguire la stessa procedura anche per l'impostazione di WordDoc. Se WordDoc non è nulla, apriremo il file dalla posizione in cui è conservato.

Passo 13: Ora dovremo definire le variabili che aiuteranno ad accedere alla tabella dal documento di Word. Con questo creeremo una tabella con righe e colonne.

Step 14: Come tutti sappiamo, il vertice delle cellule è bidimensionale. Quindi, a partire dalla prima cella, avremmo bisogno di 2 variabili in cui definiremo la posizione da cui dobbiamo iniziare la nostra tabella in Excel. Qui, abbiamo considerato quella posizione in (1, 1) che si trova nella 1a cella del foglio.

Passaggio 15: In questa fase, è necessario controllare il numero di tabelle nel file Word. E se non ci sono tabelle trovate, dovremmo ricevere questo messaggio.

Passaggio 16: In questo passaggio, è necessario accedere alla tabella dal documento di Word e mapparlo nel file Excel. Per questo, useremo il ciclo For per ogni riga e colonna.

Passo 17: Alla fine usciremo dal documento una volta aggiunti i dati da Word a Excel, senza salvare il file.

Passaggio 18: eseguire ora il codice sopra premendo il tasto F5 o facendo clic sul pulsante Riproduci.

Vedremo, i dati che abbiamo visto all'inizio dell'articolo che era separato in 2 diverse tabelle, ora vengono aggiunti in una singola tabella nel foglio Excel.

Di seguito è riportato il codice completo in una sequenza:

Codice:

 VBA_GetObject secondario () Dim WordFile come oggetto Dim WordDoc come oggetto Dim StrDoc Come stringa su errore Riprendi successivo Imposta WordFile = GetObject (, "Word.Application") Se Err.Number = 429 Quindi Err.Clear Imposta WordFile = CreateObject ("Word. Applicazione ") End If WordFile.Visible = True StrDoc =" D: \ Input \ Test.docx "If Dir (StrDoc) =" "Quindi MsgBox StrDoc & vbCrLf &" Non trovato nel percorso citato "& vbCrLf &" C: \ Posizione di input ", vbExclamation, " Nome documento non trovato "Esci Sottotitolo Se WordFile.Activate Imposta WordDoc = WordFile.Documents (StrDoc) Se WordDoc non è niente, quindi imposta WordDoc = WordFile.Documents.Open (" D: \ Input \ Test. docx ") WordDoc.Attiva Dim Tble come intero Dim RowWord come lungo Dim ColWord come intero Dim dim come lungo Dim B lungo Long A = 1 B = 1 con WordDoc Tble = WordDoc.Tables.Count If Tble = 0 Then MsgBox" No Tabelle Disponibile ", vbExclamation, " Niente da importare "Esci Sottotitolo Se per i = 1 Da aggiungere a .Tabella (i) Per RowWord = 1 A .Rows.Count Per ColWord = 1 A .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 Set WordDoc = Nothing Set WordFile = Nothing End Sub 

Pro di Excel VBA GetObject

  • È abbastanza utile per importare un grande insieme di dati da file Word a file Excel.
  • Possiamo importare qualsiasi tipo di dati da qualsiasi tipo di file semplicemente modificandone l'estensione.

Cose da ricordare

  • Chiudi tutti i file di parole prima di eseguire il codice.
  • Fornire l'estensione corretta al file che viene utilizzato.
  • GetObject non può essere utilizzato per accedere al riferimento alla classe.

Articoli consigliati

Questa è una guida a VBA GetObject. Qui discutiamo come utilizzare la funzione GetObject in VBA per recuperare i dati da un file di parole nel foglio di Excel con un esempio pratico e un modello di Excel scaricabile. Puoi anche consultare i nostri altri articoli suggeriti:

  1. VBA GetOpenFileName
  2. Dashboard KPI in Excel
  3. Cartella di lavoro VBA aperta
  4. Conteggio parole di Excel
  5. Excel VBA On Error Riprendi Successivo

Categoria: