자동화를 통해 Microsoft Word에서 Excel로 테이블 만 전송


답변:


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!"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.