Hur man integrerar Excel-data i ett Word-dokument
Uppdaterad av Brad Jones den 25 augusti 2017.
Under din arbetsvecka finns det förmodligen många gånger att du befinner dig kopiera och klistra in information från Microsoft Excel till Word, eller å andra sidan.
Så här producerar man ofta skrivna rapporter baserat på data som ackumuleras och uppdateras i ett kalkylblad. Excel är ett bra program för allt från att skapa professionella diagrammer 6 Nya Excel-diagram och hur man använder dem 6 Nya Excel-diagram och hur man använder dem Behöver du mer ut av dina Excel-diagram? Här är en enstegsguide till några av de nya diagrammen som introducerades i den senaste versionen av Excel. Läs mer om att skapa en projekthanteringsspårare 10 Användbara Excel-projekthanteringsmallar för spårning 10 Användbara Excel-projekthanteringsmallar för spårning Projekthanteringsmallar kan hjälpa dig att replikera framgångsrika projekt. Här är de grundläggande Microsoft Excel-mallarna för dig. Läs mer - men när det gäller att skriva upp en rapport är Word ett mycket bättre verktyg.
I den här artikeln kommer vi att dyka in i VBA-skript i bakgrunden som låter dig faktiskt programmera anslutningar mellan data som lagras i en Excel-fil och Word-dokument där du producerar rapporter.
Det är förvånansvärt enkelt att integrera Microsoft Excel-data i Microsoft Word när du vet hur du lägger till rätt referenser, och hur du lägger ut syntaxen i bakgrunden VBA-kod.
Ställa in kalkylbladet
I det här exemplet kommer jag att börja med ett ganska enkelt Excel-kalkylblad. I praktiken kan Excel-filen bestå av flera kalkylblad med mycket data - det spelar ingen roll.
Så länge du vet var du ska hitta data i kalkylbladet kommer du kunna nå och ta tag i det med VBA Hur man skickar e-postmeddelanden från ett Excel-kalkylblad med VBA-skript Hur skickar du e-post från ett Excel-kalkylblad med hjälp av VBA-skript Våra kodmall hjälper dig att ställa in automatiserade e-postmeddelanden från Excel med hjälp av Collaboration Data Objects (CDO) och VBA-skript. Läs mer .
Så här ser mitt provkalkylblad ut. Det är en lista över kostnadstotaler som har beräknats under hela året.
Ställa in Word-dokumentet
Låt oss säga att du har en chef som vill se en snygg formaterad rapport som beskriver utgifterna, grupperar tillsammans som objekt och presenterar informationen i en layout som är lite mer estetiskt tilltalande.
Du kan göra detta genom att inkorporera objekt som textrutor och etiketter i ditt Word-dokument. När du är i Word klickar du bara på Utvecklare menyfliken och välj sedan “Designläge” i kontroller sektion. Använd Legacy Tools drop-down ikon för att infoga olika olika element i ditt dokument.
Använd den här menyn för att infoga en Märka.
När du har etiketten placerad i dokumentet där du vill ha det (inte alltid en lätt uppgift) är du redo att programmera dataflödet. Men först måste du namnge etiketten så att VBA kan identifiera den. Högerklicka på etiketten och gå in i Egenskaper. Hitta (Namn) fält och kalla det något som du kommer ihåg.
Lägg nu till en Kommandoknapp från samma Legacy Tools rullgardinsmenyn och dubbelklicka på den för att öppna VBA-editoren. När du får din kod att fungera senare kan du ändra det så att koden körs på Dokument Öppna () händelse. Det kommer du att se i listrutan objekt i redigeringsfönstret.
Arbeta med VBA
För att komma igång med att ansluta Word till Excel måste du se till att du kan referera till den senare i VBA. Programmet för Excel VBA Programmering för nybörjare. Excel VBA Programmering Handledning för nybörjare VBA är ett Microsoft Office-verktyg. Du kan använda den för att automatisera uppgifter med makron, inställningsfunktioner och mycket mer. Vi introducerar dig till Excel visuell grundläggande programmering med ett enkelt projekt. Läs mer .
Förbered Excel Data Importera
Klicka på Verktyg, och då referenser. Bläddra ner listan tills du ser Microsoft Excel 16.0 Objektbibliotek och välj det.
När du har gjort det här är resten bara ett problem att skriva ett löjligt enkelt VBA-skript för att dra in data från ett Excel-kalkylblad och uppdatera automatiskt etiketttexten med data.
Här är koden:
Private Sub CommandButton1_Click () Dim objExcel Som Ny Excel.Application Dim exWb Som Excel.Workbook Set exWb = objExcel.Workbooks.Open ("C: \ Users \ Brad \ Desktop \ expenses.xlsx") ThisDocument.total_expenses.Caption = exWb. Ark ("Sheet1"). Celler (12, 2) exWb.Close Set exWb = Inget Slut Del
Se hur det fungerar? De “exWb” Excel-applikationsobjekt öppnar Microsoft Excel-filen på den väg du tillhandahåller den, och den går direkt in i det specifika arket och cellnumret, extraherar data och placerar det i egenskapen Caption på etiketten som jag heter totala utgifter. Allt du behöver redigera i ditt skript är filvägen och etikettnamnet.
Testa din makro
För att testa din kommandoknapp, spara ditt dokument, kom ihåg att ange att du vill ha en Word Macro-Enabled Document så att din kod fungerar.
Här är VBA-makroen i aktion.
Integrera Excel-etiketter
Den svåra delen att hantera etiketter i Word är att det ibland är svårt att anpassa det i slutet av en mening eller vid sidan av någon annan text.
Ett sätt att övervinna det innehåller faktiskt en del av texten tillsammans med data i själva VBA-koden. Som du kan se här har jag satt den statiska texten direkt in i texten när jag skapar etiketten själv.
Nu behöver du bara inkludera den texten när du uppdaterar etiketten med ditt VBA-skript och bara lägga till data från Microsoft Excel-filen till slutet av den texten.
Här är vad den här typen av kod skulle se ut.
Dim objExcel Som Ny Excel.Application Dim exWb Som Excel.Workbook Set exWb = objExcel.Workbooks.Open ("c: \ Users \ Brad \ Desktop \ expenses.xlsa") ThisDocument.total_expenses.Caption = exWb.Sheets ("Sheet1" ) .Cells (12, 2) ThisDocument.total_hotels.Caption = "Hotell:" & exWb.Sheets ("Sheet1"). Celler (5, 2) ThisDocument.total_dining.Caption = "Dining Out:" & exWbSheets "Sheet1"). Celler (2, 2) ThisDocument.total_tolls.Caption = "Tolls:" & exWb.Sheets ("Sheet1"). Celler (3, 2) ThisDocument.total_fuel.Caption = "Bränsle:" & exWb. Ark ("Sheet1"). Celler (10, 2) exWb.Close Set exWb = Ingenting
Du kan använda strängförbindelsen “&” symbol för plats koppla den statiska texten med data som extraheras från Excel-arket. Så här ser de slutliga resultaten ut i det uppdaterade Word-dokumentet:
Tar saker vidare
Om du vill testa dina förmågor, varför inte automatisera din rapport. 5 Resurser för Excel-makron för att automatisera dina kalkylblad. 5 Resurser för Excel-makron för att automatisera dina kalkylblad. Söka efter Excel-makron? Här är fem webbplatser som har det du letar efter. Läs mer ännu mer? Du kan ta bort den fula grå kommandoknappen från ditt Microsoft Word-dokument, helt enkelt genom att uppdatera skriptet för datuppdatering Document.Open () - hela processen kommer att ske bakom kulisserna.
Det betyder att du i många fall kan skapa det ursprungliga dokumentet en gång och behöver aldrig skapa det igen. Allt du behöver göra är att öppna det, och alla etiketter uppdateras automatiskt för dig med data från den uppdaterade Microsoft Excel-filen. Klicka bara på Skriva ut, och skicka rapporten till din chef. Ett jobb på 30 minuter blev bara en minuts utskrift!
Kan du tänka på några andra häftiga användningsområden för denna dataintegrationsteknik med hjälp av VBA? Dela några av dina egna idéer och tankar i kommentarfältet nedan.
Bildkredit: Punyaphat Larpsomboon via Shutterstock.com
Utforska mer om: Digital Document, Microsoft Excel, Microsoft Word, Visual Basic Programmering.