码迷,mamicode.com
首页 > 其他好文 > 详细

将word文档A表格中的内容拷贝到word文档B表格中

时间:2016-01-25 18:56:25      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:

Function IsFileExists(ByVal strFileName As String) As Boolean
    If Dir(strFileName, 16) <> Empty Then
        IsFileExists = True
    Else
        IsFileExists = False
    End If
End Function

Sub setname()
    Dim I As Integer
    Dim J As Integer
    Dim pspname As String
    Dim pspnumber As String
    Dim tstname As String
    Dim tstnumber As String
    Dim path As String
    Dim srcPath As String
    Dim srcPath2 As String
    Dim headName As String
    Dim headName2 As String
    Dim txthead As String
    
    Dim wordApp As Object
    Dim wordDoc As Object
    Dim wordDoc2 As Object
    Dim wordArange As Object
    Dim wordSelection As Object
    Dim ReplaceSign As Boolean
    
    Dim Search1 As String
    Dim Search2 As String
    Dim docPrefix As String
    Dim docSuffix As String
    Dim rangSize As Integer
    Dim stringTable1 As String
    
        
    docPrefix = "-PSP"
    docSuffix = "采购规格书.doc"
    Search1 = "电线"
    Search2 = "6000397-PSP"
    rangSize = 200
    
    docPrefix = "-"
    docSuffix = "入场检验报告.doc"
    Search1 = "高压电源"
    Search2 = "6000000-TST"
    Search1 = "AC-DC开关电源"
    Search2 = "6000412-TST"
    rangSize = 60
    
    J = 1
    Dim myItem
    myItem = Array(14, 16, 17, 18, 22, 23, 24, 26, 27, 31, 32, 33, 34, 35, 36, 48, 50, 55, 56, 62, 63, 64, 65, 66, 67, 68, 69, 71, 73, 77, 79, 102, 114, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 172, 173, 174, 175, 176, 177, 179, 180, 181)
    For I = 1 To 187
        srcPath = "C:\cygwin\tmp\BOM\tst16.doc"
        If ActiveSheet.Cells(I, 5) = "" Then
            headName2 = ActiveSheet.Cells(I, 3) & "-" & ActiveSheet.Cells(I, 4) & "-" & ActiveSheet.Cells(I, 5)
            headName = headName2 & docSuffix
            headName3 = ActiveSheet.Cells(I, 4)
        Else
            headName2 = ActiveSheet.Cells(I, 3) & "-" & ActiveSheet.Cells(I, 4) & "-" & ActiveSheet.Cells(I, 6)
            headName = headName2 & docSuffix
            headName3 = ActiveSheet.Cells(I, 4) & "(" & ActiveSheet.Cells(I, 5) & ")"
        End If
        headName = Replace(headName, "/", "-")
        path = "D:\bom\"
        srcPath2 = path & "\aa.doc"
        pspname = path & "\" & ActiveSheet.Cells(I, 3) & docPrefix & ActiveSheet.Cells(I, 4) & docSuffix
        pspname = "D:\bom\" & ActiveSheet.Cells(I, 3) & "-PSP-V1.0.doc"
        tstname = "D:\bom\" & ActiveSheet.Cells(I, 3) & "-TST-V1.0.doc"
        tstnumber = ActiveSheet.Cells(I, 3) & "-TST"
        
        headName = ActiveSheet.Cells(I, 4)
        headName2 = ActiveSheet.Cells(I, 3)
        
        pspname2 = "D:\bom\aa\" & ActiveSheet.Cells(I, 3) & "-PSP-V1.0.doc"
        
        If IsFileExists(pspname) = True Then
            FileCopy srcPath, srcPath2
            Name srcPath2 As tstname
            headName = ActiveSheet.Cells(I, 4).Value
            headName2 = ActiveSheet.Cells(I, 3)
            Set wordApp = CreateObject("Word.Application")                  建立WORD实例
            wordApp.Visible = False                                         屏蔽WORD实例窗体
            Set wordDoc = wordApp.Documents.Open(pspname)                   打开文件并赋予文件实例
            Set wordSelection = wordApp.Selection                           ‘定位文件实例
            Set wordArange = wordApp.ActiveDocument.Range(0, rangSize)      ‘指定文件编辑位置
            wordArange.Select                                               ‘激活编辑位置
            
            stringTable1 = wordDoc.Tables(4).Cell(2, 1)
            
            Set wordDoc2 = wordApp.Documents.Open(pspname2)
            stringTable1 = Trim(wordDoc.Tables(1).Cell(2, 2).Range.Text)
            wordDoc2.Tables(1).Cell(2, 2) = wordDoc.Tables(1).Cells(2, 2)
            wordDoc2.Tables(1).Cell(2, 2).Range.Text = Replace(wordDoc.Tables(1).Cell(2, 2).Range.Text, Chr(13), "")
            wordDoc2.Tables(1).Cell(2, 3).Range.Text = Replace(wordDoc.Tables(1).Cell(2, 3).Range.Text, Chr(13), "")
            
            wordDoc2.Tables(1).Cell(3, 2).Range.Text = Replace(wordDoc.Tables(1).Cell(3, 2).Range.Text, Chr(13), "")
            wordDoc2.Tables(1).Cell(3, 3).Range.Text = Replace(wordDoc.Tables(1).Cell(3, 3).Range.Text, Chr(13), "")
            
            wordDoc2.Tables(1).Cell(4, 2).Range.Text = Replace(wordDoc.Tables(1).Cell(4, 2).Range.Text, Chr(13), "")
            wordDoc2.Tables(1).Cell(4, 3).Range.Text = Replace(wordDoc.Tables(1).Cell(4, 3).Range.Text, Chr(13), "")
            
            wordDoc2.Tables(2).Cell(1, 4).Range.Text = headName2
            wordDoc2.Tables(2).Cell(2, 4).Range.Text = ""
            wordDoc2.Tables(2).Cell(2, 2).Range.Text = Replace(wordDoc.Tables(2).Cell(3, 2).Range.Text, Chr(13), "")
            wordDoc2.Tables(2).Cell(3, 2).Range.Text = Replace(wordDoc.Tables(2).Cell(4, 2).Range.Text, Chr(13), "")
            wordDoc2.Tables(2).Cell(3, 4).Range.Text = Replace(wordDoc.Tables(2).Cell(3, 2).Range.Text, Chr(13), "")
            
            wordDoc2.Tables(3).Cell(2, 1).Range = wordDoc.Tables(4).Cell(2, 1).Range
            
            wordDoc.Save
            wordDoc.Close True
            wordDoc2.Save
            wordDoc2.Close True
            wordApp.Quit
            J = J + 1
        End If
    Next I

End Sub

特别注意 Chr(13)是文档中的换行符。

将word文档A表格中的内容拷贝到word文档B表格中

标签:

原文地址:http://www.cnblogs.com/cnpirate/p/5157884.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!