Есть ли способ, которым я могу автоматизировать копирование информации из таблиц Microsoft Word в таблицы Microsoft Excel?
1 ответ
0
Да, это очень возможно. Как я продемонстрировал только вчера, вы можете использовать автоматизацию Word и Excel через VBScript, чтобы делать все, что поддерживает VBA. Попробуйте следующий сценарий VBS:
Option Explicit
Dim objWord, objDoc, objExcel, objSheet, tbl, srcRow, dstRow, col, cell
Set objWord = CreateObject("Word.Application")
objWord.Visible = False
objWord.DisplayAlerts = False
objWord.Documents.Open "C:\MyDoc.docx", False, True ' path, confirmconversions, readonly
Set objDoc = objWord.ActiveDocument
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
objExcel.DisplayAlerts = False
objExcel.Workbooks.Add
Set objSheet = objExcel.ActiveSheet
dstRow = 0
For Each tbl In objDoc.Tables
For srcRow = 1 To tbl.Rows.Count
col = 0
For Each cell In tbl.Rows(srcRow).Cells
col = col + 1
objSheet.Cells(dstRow+srcRow, col).Value = Left(cell.Range.Text, Len(cell.Range.Text)-1)
Next
Next
dstRow = dstRow + SrcRow
Next
objWord.Quit 0 ' wdDoNotSaveChanges
Set objWord = Nothing
Set objDoc = Nothing
objExcel.ActiveWorkbook.SaveAs "C:\MyBook.xlsx"
objExcel.Quit
Set objExcel = Nothing
Set objSheet = Nothing
MsgBox "All table data copied from document to workbook!"