Slik integrerer du Excel-data i et Word-dokument
Oppdatert av Brad Jones 25. august 2017.
I arbeidsdagen din er det sannsynligvis mange ganger at du finner deg selv å kopiere og lime inn informasjon fra Microsoft Excel til Word, eller omvendt.
Slik produserer folk ofte skrevet rapporter basert på data som er akkumulert og oppdatert i et regneark. Excel er et godt program for alt fra å lage profesjonelle diagrammer 6 Nye Excel-diagrammer og hvordan du bruker dem 6 Nye Excel-diagrammer og hvordan du bruker dem Trenger du å få mer ut av Excel-diagrammer? Her er en engangsguide til noen av de nye kartene som ble introdusert i den nyeste versjonen av Excel. Les mer, å sette opp en prosjektstyringssporing 10 Nyttige Excel-prosjektmaler for sporing 10 Nyttige Excel-prosjektledelsesmaler for sporing Prosjektledelsesmaler kan hjelpe deg med å replikere vellykkede prosjekter. Her er de essensielle Microsoft Excel-malene for deg. Les mer - men når det gjelder å skrive opp en rapport, er Word et mye bedre verktøy.
I denne artikkelen skal vi dykke inn i VBA-skripting i bakgrunnen som gjør at du faktisk kan programmere tilkoblinger mellom data som er lagret i en Excel-fil og Word-dokumenter der du produserer rapporter.
Det er overraskende enkelt å integrere Microsoft Excel-data i Microsoft Word når du vet hvordan du legger til de riktige referansene, og hvordan du legger ut syntaksen til bakgrunnen VBA-koden.
Sette opp regnearket
I dette eksemplet skal jeg starte med et ganske enkelt Excel-regneark. I praksis kan Excel-filen bestå av flere regneark med masse data - det spiller ingen rolle.
Så lenge du vet hvor du skal finne dataene i regnearket, kan du nå inn og gripe det ved hjelp av VBA. Slik sender du e-post fra et Excel-regneark ved hjelp av VBA-skript. Slik sender du e-post fra et Excel-regneark ved hjelp av VBA-skript. kode mal vil hjelpe deg med å sette opp automatiserte e-poster fra Excel ved hjelp av Collaboration Data Objects (CDO) og VBA-skript. Les mer .
Her ser du eksemplet regnearket mitt. Det er en liste over kostnadsomkostninger som har blitt beregnet gjennom hele året.
Sette opp Word-dokumentet
La oss si at du har en leder som ønsker å se en pent formatert rapport som beskriver utgiftene, grupperer sammen som elementer og presenterer informasjonen i et layout som er litt mer estetisk tiltalende.
Du kan gjøre dette ved å inkorporere objekter som tekstbokser og etiketter i ditt Word-dokument. Når du er i Word, klikker du bare på Utvikler menyfanen, og velg deretter “Designmodus” i kontroller seksjon. Bruke Legacy Tools rullegardinikon for å sette inn forskjellige elementer i dokumentet.
Bruk denne menyen til å sette inn en Merkelapp.
Når du har merket plassert i dokumentet der du vil ha det (ikke alltid en enkel oppgave), er du klar til å programmere datainngangen. Men først må du merke etiketten slik at VBA kan identifisere den. Høyreklikk på etiketten og gå inn Eiendommer. Finn (Navn) feltet og ring det til noe du vil huske.
Nå legg til en Kommandoknapp fra det samme Legacy Tools rullegardinlisten, og dobbeltklikk den for å åpne VBA-editoren. Når du får koden din senere, kan du endre den slik at koden kjører på Dokument åpent () begivenhet. Du ser det i rullegardinlistene for objektet i redigeringsvinduet.
Arbeider med VBA
For å komme i gang med å koble Word til Excel, må du kontrollere at du kan referere til sistnevnte i VBA Excel VBA Programmeringsveiledning for nybegynnere Excel VBA Programmeringsveiledning for nybegynnere VBA er et Microsoft Office-verktøy. Du kan bruke den til å automatisere oppgaver med makroer, angi utløsere og mye mer. Vi vil introdusere deg til Excel visuell grunnleggende programmering med et enkelt prosjekt. Les mer .
Forbered Excel-dataimporten
Klikk på Verktøy, og så referanser. Rull nedover listen til du ser Microsoft Excel 16.0 Object Library og velg det.
Når du har gjort dette, er resten bare et spørsmål om å skrive et latterlig enkelt VBA-skript for å trekke inn data fra et Excel-regneark, og automatisk oppdatere etikettteksten med dataene.
Her er koden:
Private Sub CommandButton1_Click () Dim objExcel Som Ny Excel.Application Dim exWb Som Excel.Workbook Sett exWb = objExcel.Workbooks.Open ("C: \ Brukere \ Brad \ Desktop \ expenses.xlsx") ThisDocument.total_expenses.Caption = exWb. Ark ("Sheet1"). Celler (12, 2) exWb.Close Set exWb = Ingenting End Sub
Se hvordan det fungerer? De “exWb” Excel-applikasjonsobjekt åpner Microsoft Excel-filen på banen du gir den, og den går rett inn i det spesifikke arket og cellenummeret, trekker ut dataene, og legger det inn i egenskapen Caption på etiketten som jeg heter totale utgifter. Alt du trenger å redigere i skriptet, er filbanen og etikettnavnet.
Test makroen din
For å teste kommandoknappen din, lagre dokumentet, husk å spesifisere at du vil ha en Word Macro-Enabled Document slik at koden din fungerer.
Her er VBA-makroen i aksjon.
Integrer Excel-etiketter
Den vanskelige delen med å håndtere etiketter i Word er at det noen ganger er vanskelig å justere det på slutten av en setning eller ved siden av en hvilken som helst annen tekst.
En måte å overvinne det er faktisk å inkorporere noen av teksten ved siden av dataene i VBA-koden selv. Som du kan se her, har jeg satt den statiske teksten rett inn i bildeteksten når jeg lager etiketten selv.
Nå er alt du trenger å gjøre, inkludere den teksten når du oppdaterer etiketten med VBA-skriptet ditt, og bare legg til dataene fra Microsoft Excel-filen til slutten av teksten.
Her er hva den slags kode ville se ut.
Dim objExcel Som Ny Excel.Application Dim exWb Som Excel.Workbook Sett exWb = objExcel.Workbooks.Open ("c: \ Users \ Brad \ Desktop \ utgifter.xlsa") ThisDocument.total_expenses.Caption = exWb.Sheets ("Sheet1" ) .Cells (12, 2) ThisDocument.total_hotels.Caption = "Hoteller:" & exWb.Sheets ("Sheet1"). Cells (5, 2) ThisDocument.total_dining.Caption = "Spise ute:" & exWb.Sheets "Sheet1"). Celler (2, 2) ThisDocument.total_tolls.Caption = "Tolls:" & exWb.Sheets ("Sheet1"). Celler (3, 2) ThisDocument.total_fuel.Caption = "Drivstoff:" & exWb. Ark ("Sheet1"). Celler (10, 2) exWb.Close Sett exWb = Ingenting
Du kan bruke strengkonsentrasjonen “&” symbol for plassering Koble den statiske teksten med dataene hentet fra Excel-arket. Slik ser de endelige resultatene ut i det oppdaterte Word-dokumentet:
Tar ting videre
Hvis du vil teste dine evner, hvorfor ikke automatisere rapporten 5 Ressurser for Excel-makroer for å automatisere regnearkene dine 5 Ressurser for Excel-makroer for å automatisere regnearkene dine Søk etter Excel-makroer? Her er fem nettsteder som har det du leter etter. Les mer enda mer? Du kan fjerne den stygge grå kommandoknappen fra Microsoft Word-dokumentet ditt, ganske enkelt ved å ha dataoppdateringsskriptet kjørt på Document.Open () - hele prosessen vil finne sted bak kulissene.
Dette betyr at du i mange tilfeller kan lage det opprinnelige dokumentet en gang, og må aldri opprette det igjen. Alt du trenger å gjøre er å åpne den, og alle etikettene oppdateres automatisk for deg med dataene fra den oppdaterte Microsoft Excel-filen. Bare klikk Skrive ut, og send rapporten til sjefen din. En 30-minutters jobb ble bare omgjort til ett minuttutskrift!
Kan du tenke på noen andre kule bruksområder for denne dataintegreringsteknikken ved hjelp av VBA? Del noen av dine egne ideer og tanker i kommentarfeltet nedenfor.
Image Credit: Punyaphat Larpsomboon via Shutterstock.com
Utforsk mer om: Digital Document, Microsoft Excel, Microsoft Word, Visual Basic Programmering.