Come integrare i dati di Excel in un documento di Word
Aggiornato da Brad Jones il 25 agosto 2017.
Durante la tua settimana lavorativa, ci sono probabilmente molte volte che ti ritrovi a copiare e incollare informazioni da Microsoft Excel in Word o viceversa.
Questo è il modo in cui le persone spesso producono rapporti scritti basati su dati accumulati e aggiornati in un foglio di calcolo. Excel è un ottimo programma per tutto, dalla creazione di grafici dall'aspetto professionale 6 Nuovi grafici di Excel e come utilizzarli 6 Nuovi grafici di Excel e come utilizzarli Hai bisogno di ottenere di più dai tuoi grafici Excel? Ecco una guida completa ad alcuni dei nuovi grafici introdotti nell'ultima versione di Excel. Ulteriori informazioni, per impostare un tracker per la gestione dei progetti 10 Modelli di gestione dei progetti Excel utili per il monitoraggio 10 Modelli di gestione dei progetti Excel utili per il tracciamento I modelli di gestione dei progetti possono aiutarti a replicare progetti di successo. Ecco i modelli Microsoft Excel essenziali per te. Per saperne di più - ma quando si tratta di scrivere un report, Word è uno strumento molto migliore.
In questo articolo, approfondiremo lo scripting VBA in background che consente di programmare effettivamente le connessioni tra i dati archiviati in un file Excel e i documenti Word in cui si producono report.
È sorprendentemente facile integrare i dati di Microsoft Excel in Microsoft Word una volta che sai come aggiungere i giusti riferimenti e come disporre la sintassi del codice VBA in background.
Impostazione del foglio di calcolo
In questo esempio, inizierò con un foglio di calcolo Excel piuttosto semplice. In pratica, il file Excel può essere costituito da più fogli di calcolo con molti dati: non importa.
Fintanto che sai dove trovare i dati nel foglio di calcolo, sarai in grado di raggiungerlo e afferrarlo usando VBA Come inviare e-mail da un foglio di calcolo Excel usando gli script VBA Come inviare e-mail da un foglio di calcolo Excel usando gli script VBA Il modello di codice ti aiuterà a configurare e-mail automatizzate da Excel utilizzando Collaboration Data Objects (CDO) e script VBA. Leggi di più .
Ecco come appare il mio foglio di calcolo di esempio. È un elenco di totali di spesa che sono stati calcolati durante l'intero anno.
Impostazione del documento di Word
Supponiamo che tu abbia un manager che vorrebbe vedere un rapporto ben formattato che descrive le spese, raggruppa insieme come oggetti e presenta le informazioni in un layout che è un po 'più esteticamente gradevole.
Puoi farlo incorporando oggetti come caselle di testo ed etichette nel tuo documento di Word. Quando sei in Word, fai clic su Sviluppatore scheda menu, quindi selezionare “Modalità di progettazione” nel controlli sezione. Utilizzare il Strumenti legacy icona a discesa per inserire vari elementi nel documento.
Utilizzare questo menu per inserire a Etichetta.
Una volta che l'etichetta è stata inserita nel documento in cui si desidera (non sempre un'attività facile), sei pronto per programmare il feed di dati. Ma prima devi nominare l'etichetta in modo che il VBA possa identificarla. Fai clic destro sull'etichetta e vai Proprietà. Trovare la (Nome) campo e chiamalo qualcosa che ti ricorderai.
Ora, aggiungi un Pulsante di comando dallo stesso Strumenti legacy elenco a discesa e fare doppio clic per aprire l'editor VBA. Quando si attiva il codice in un secondo momento, è possibile modificarlo in modo che il codice venga eseguito su Documento aperto () evento. Lo vedrai nelle caselle a discesa dell'oggetto nella finestra dell'editor.
Lavorare con VBA
Per iniziare a connettere Word a Excel, devi assicurarti di poter fare riferimento a quest'ultimo in VBA. Esercitazione di programmazione Excel VBA per principianti L'esercitazione di programmazione VBA di Excel per principianti VBA è uno strumento di alimentazione di Microsoft Office. Puoi usarlo per automatizzare le attività con macro, impostare trigger e molto altro. Ti presenteremo alla programmazione di base visiva di Excel con un semplice progetto. Leggi di più .
Preparare l'importazione dei dati Excel
Clicca su Utensili, e poi Riferimenti. Scorri l'elenco fino a visualizzare il Libreria oggetti di Microsoft Excel 16.0 e selezionalo.
Una volta fatto questo, il resto è solo una questione di scrivere uno script VBA ridicolmente semplice per estrarre dati da un foglio di calcolo di Excel e aggiornare automaticamente la didascalia dell'etichetta con i dati.
Ecco il codice:
Private Sub CommandButton1_Click () Dim objExcel As New Excel.Application Dim exWb As Excel.Workbook Set exWb = objExcel.Workbooks.Open ("C: \ Users \ Brad \ Desktop \ expenses.xlsx") ThisDocument.total_expenses.Caption = exWb. Fogli ("Foglio1"). Celle (12, 2) exWb.Close Set exWb = Nothing End Sub
Vedi come funziona? Il “exWb” L'oggetto dell'applicazione Excel apre il file Microsoft Excel nel percorso fornito dall'utente e va a destra nel numero di foglio e cella specifico, estrae i dati e li inserisce nella proprietà Caption dell'etichetta che ho chiamato spese totali. Tutto ciò che devi modificare nel tuo script è il percorso del file e il nome dell'etichetta.
Metti alla prova la tua macro
Per testare il tuo pulsante di comando, salva il documento, ricordando di specificare che si desidera un Documento con attivazione macro di Word in modo che il tuo codice funzioni.
Ecco la macro VBA in azione.
Integrare etichette Excel
La parte più difficile con le etichette in Word è che a volte è difficile allinearlo alla fine di una frase o accanto a qualsiasi altro testo.
Un modo per superare questo è in realtà incorporare parte del testo accanto ai dati nel codice VBA stesso. Come puoi vedere qui, ho inserito il testo statico direttamente in Caption quando creo l'etichetta stessa.
Ora, tutto ciò che devi fare è includere quel testo quando aggiorni l'etichetta con il tuo script VBA e aggiungi semplicemente i dati dal file di Microsoft Excel alla fine di quel testo.
Ecco come sarebbe il tipo di codice.
Dim objExcel As New Excel.Application Dim exWb As Excel.Workbook Set exWb = objExcel.Workbooks.Open ("c: \ Users \ Brad \ Desktop \ spese.xlsa") ThisDocument.total_expenses.Caption = exWb.Sheets ("Sheet1" ) .Cells (12, 2) ThisDocument.total_hotels.Caption = "Hotels:" & exWb.Sheets ("Sheet1"). Cells (5, 2) ThisDocument.total_dining.Caption = "Dining Out:" & exWb.Sheets ( "Foglio1"). Cells (2, 2) ThisDocument.total_tolls.Caption = "Tolls:" & exWb.Sheets ("Sheet1"). Cells (3, 2) ThisDocument.total_fuel.Caption = "Carburante:" & exWb. Fogli ("Sheet1"). Cells (10, 2) exWb.Close Set exWb = Nothing
È possibile utilizzare la concatenazione di stringhe “&” simbolo per posizionare connette il testo statico con i dati estratti dal foglio Excel. Ecco come appaiono i risultati finali nel documento Word aggiornato:
Prendendo le cose ulteriormente
Se vuoi testare le tue abilità, perché non automatizzare il tuo report 5 Risorse per macro di Excel per automatizzare i fogli di calcolo 5 Risorse per macro di Excel per automatizzare i fogli di calcolo Ricerca di macro di Excel? Ecco cinque siti che hanno ottenuto ciò che stai cercando. Leggi di più anche oltre? È possibile rimuovere quel brutto pulsante di comando grigio dal documento di Microsoft Word, semplicemente eseguendo lo script di aggiornamento dei dati Document.Open () - l'intero processo si svolgerà dietro le quinte.
Ciò significa che in molti casi è possibile creare il documento iniziale una sola volta e quindi non doverlo creare di nuovo. Tutto ciò che dovrai fare è aprirlo e tutte le etichette verranno automaticamente aggiornate per te con i dati del file aggiornato di Microsoft Excel. Basta fare clic Stampare, e invia il rapporto al tuo manager. Un lavoro di 30 minuti è appena diventato un minuto di stampa!
Riesci a pensare ad altri usi interessanti per questa tecnica di integrazione dei dati con VBA? Condividi alcune delle tue idee e pensieri nella sezione commenti qui sotto.
Immagine di credito: Punyaphat Larpsomboon tramite Shutterstock.com
Scopri di più su: Documento digitale, Microsoft Excel, Microsoft Word, Programmazione Visual Basic.