最新需要将Word中的表格内容提取到Excel文档中作分析处理。所以动手写了一小段VBA代码来完成数据转换工作,于是将它记录下来,一来方便自己以后查看,另外有需要的朋友也可拿去用。

VBA代码:
Sub WordTable2Excel()
'
' TableToExcel 宏
'
'Dim i As Integer
Dim tablecount As Integer '表格总数
Dim appexcel As Object 'Excel Application Object
Dim appbook  As Object 'Excel book
Dim appsheet  As Object 'Excel book sheet


'新建电子表格的所需
Set appexcel = CreateObject("excel.application")

'先要新建一个电子表格
Set appbook = appexcel.Workbooks.Add
 appbook.Worksheets.Add.Name = "1"


'取出word的文件名,好像有直接的记得好象是shourtname还是什么来着,不管了:》
Dim docname As String

'获取总表格数
tablecount = ActiveDocument.Tables.Count
docname = Left(ActiveDocument.Name, Len(ActiveDocument.Name) - 4)


'没有sheet的表格不会新建,只好手动删了:》
 appexcel.Worksheets("Sheet1").Delete
 appexcel.Worksheets("Sheet2").Delete
 appexcel.Worksheets("Sheet3").Delete
 For i = 1 To tablecount         '设置循环次数
      ActiveDocument.Select
      Selection.Tables(i).Select '选中表格
      Selection.Copy  '表格复制
      If i > 1 Then appbook.Worksheets.Add.Name = i '在删除的上面新建了第一个所以避开第一个

'插入的都是第一个所以这里没有写I,可以用insert after,这样就能换成i了
     appbook.Worksheets(1).Range("A1").Select
     appbook.Worksheets(1).Paste ' 在当前excel粘贴

'情空剪切板
     appexcel.Application.CutCopyMode = False

'这个其实没有必要,是在立即窗口显示的。
     Debug.Print "第" & i & "张表," & "共" & tablecount & "张"
Next
    '这个就是保存,退出了。
    appbook.SaveAs Path & docname & ".xls"
    appbook.Close
    appexcel.Quit

End Sub
11-27 01:39