mynewspapers.net

Hur extrahera Data från Word-tabeller med hjälp av Excel VBA

Hur extrahera Data från Word-tabeller med hjälp av Excel VBA


Visual Basic for Applications (VBA), Microsofts skriptspråk för Excel och Word, kan användare av dessa program skriva skript som snabba upp vanliga uppgifter som ansluter till tabelldata. Förutom att ge Excel-användare möjligheten att hantera tabelldata för Excel, ger VBA också en hjälp för åtkomst till tabeller i Word-dokument. VBA-utvecklare hänvisa till denna möjligheten av ett Office-program att köra en annan som "automation". En fördel att automatisera Word datautvinning ger är att spara tid. Utan automation, kan Excel-användare behöva använda mer tidskrävande metoder för att föra data till Excel från Word.

Instruktioner

• Skapa ett nytt dokument i Word genom att trycka på "Kontroll-N." Klicka på "Infoga"-menyn och klicka sedan på ikonen "Tabell" i panelen "Bord". Klicka på någon cellikon för att göra en tabell och ange sedan data till minst den översta raden cellen till vänster. Spara dokumentet som "C:\WordTableData.doc" och stäng sedan Word. Detta steg skapar exempeldata som du ska extrahera med Excel.

• Skapa ett nytt dokument i Excel och tryck på "Alt-F11" Ange den integrerade utvecklingsmiljön (IDE) i Visual Basic. IDE innehåller medel för att manuellt ange VBA-program, i motsats till inspelning av makron i Excel.

• Klicka på "Infoga" och sedan "Modul" att skapa en ny modul för att skriva programkod. Skriv följande kod någonstans inuti den nya modulen: Public Sub tillgång Table() ange appWD = CreateObject("Word.Application") appWD.Documents.Open Filename:="C:\WordTableData.doc", _ ConfirmConversions: = falskt, ReadOnly: = falskt, AddToRecentFiles: = falskt, PasswordDocument: = "", PasswordTemplate: = "", Återställ: = falskt, _ WritePasswordDocument: = "", WritePasswordTemplate: = "", Format: = _ wdOpenFormatAuto x = appWD.ActiveDocument.Tables(1). Rows(1). Cells(1) MsgBox (x) appWD.Quit End Sub denna subrutin skapar en dold instans av Microsoft Word, och sedan använder den för att öppna ett Word-dokument och få värdet för en cell i dokumentets första tabellen.

• Klicka på IDE "Referenser" objekt under menyn "Verktyg" och sedan bläddra nedåt i listan över objekt tills du ser "Objektbibliotek för Microsoft Word." Förlägga en kontroll i rutan till vänster om objektet och stäng sedan "dialogrutan referenser." Kör genom måste din kod länka till Word virtuella objekt (till exempel tabeller). Rutan "Referenser" dialog kan du skapa den länken.

• Klicka någonstans i den "accessTable" subrutin du skrev i steg 3 och tryck sedan på "F5" att köra subrutinen. Efter en kort paus visas en dialogruta med de uppgifter du angett i Word-dokumentet tabellen i steg 1.

• Skriv följande nya kod efter uttrycket "Public Sub" i "accessTable" subrutinen: tona ned några rader och vissa kolumner några rad = inputbox ("ange raden du vill dra data från.") vissa kolumn = inputbox ("Ange den kolumn som du vill hämta data från.") Dessa nya uttalanden, och den i nästa steg, kan du välja vilka tabellcell att extrahera data från.

• Byt ut den uttalande som början med "x = appWD" med detta uttalande: x = appWD.ActiveDocument.Tables(1). Rows(someRow). Cells(someColumn)

• Köra subrutinen som du gjorde i steg 5. Svara på uppmaningarna om raden och kolumnen. Reviderade programmet kommer att extrahera tabelldata från den cell som du angett och visas i en dialogruta.