通过自动化仅将表格从Microsoft Word传输到Excel


Answers:


0

是的,这很有可能。正如我昨天所展示的那样,您可以通过VBScript使用Word和Excel自动化来执行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!"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.