分享

Excel中批量导入Word表格

 JT_man 2011-08-07


    现有很多表格形式的Word文件,全部放在D:\LSC_Documents文件夹中。要求:在Excel工作簿中新建一个工作表,该表放在第2个工作表之前,从第4行开始粘贴表格,每个表格之间空1行。要实现这个结果,如果采取逐个打开每个Word文件进行复制、粘贴的方法,操作起来会非常麻烦,而且容易出错。下面的VBA代码可以实现这一结果。
    (运行前,要先在代码窗口执行:工具→引用→勾选Microsoft Word 11.0 Object Library→确定。)

Sub Test()
    Application.ScreenUpdating = False
    Dim MyPath As String, MyFile As String, iRow As Integer
    Dim wdApp As Word.Application, wdDoc As Word.Document, ws As Worksheet
    
    MyPath = "D:\LSC_Documents"   '指定路径
    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = False
    
    'ChDir MyPath   '进入指定目录
    MyFile = Dir(MyPath & "\" & "*.doc")
    Set ws = Sheets.Add(Before:=Sheets(2))   '将新建工作表插入到第2张工作表之前。
    
    iRow = 4   '从第4行开始粘贴数据
    Do While MyFile <> ""    '如果是文件夹,或者没有此文件,则会返回""
        Set wdDoc = wdApp.Documents.Open(MyPath & "\" & MyFile)
        wdDoc.Content.Copy
        With ws
            .Range("A" & iRow).Select
            .Paste
            iRow = .Range("A65536:Z65536").End(xlUp).Row + 2   '表格之间空1行
        End With
        wdDoc.Close True
        MyFile = Dir()
    Loop
    
    Application.ScreenUpdating = True
    wdApp.Quit
    Set wdApp = Nothing
    Set wdDoc = Nothing
    Set ws = Nothing

End Sub
 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多