• 20170609批量生成WORD合同


    Sub NextSeven_CodeFrame()
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
        Application.Calculation = xlCalculationManual
        Application.StatusBar = ">>>>>>>>程序正在运行>>>>>>>>"
    
    
        On Error GoTo ErrHandler
    
        Dim StartTime, UsedTime As Variant
        StartTime = VBA.Timer
        '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
        Dim Wb As Workbook
        Dim Sht As Worksheet
        Dim oSht As Worksheet
        Dim Rng As Range
        Dim Arr As Variant
        Dim EndRow As Long
        Const HEAD_ROW As Long = 1
        Const SHEET_NAME As String = "明细表"
        Const START_COLUMN As String = "A"
        Const END_COLUMN As String = "I"
    
        Dim Count As Long
    
        '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        Set Wb = Application.ThisWorkbook
        Set Sht = Wb.Worksheets(SHEET_NAME)
        With Sht
            EndRow = .Cells(.Cells.Rows.Count, 4).End(xlUp).Row
            Set Rng = .Range(.Cells(HEAD_ROW + 1, START_COLUMN), .Cells(EndRow, END_COLUMN))
            Arr = Rng.Value
        End With
    
    
        Dim ModelFolder As String
        Dim FileName As String
        Dim FilePath As String
        Dim NewName As String
        Dim NewFolder As String
        Dim NewPath As String
        '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        '绑定
        Dim wdApp As Word.Application
        Dim OpenDoc As Word.Document
        Set wdApp = New Word.Application
        '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
    
        Dim FindText As String
        Dim RepText As String
    
        ModelFolder = Wb.Path & "模板"
        NewFolder = Wb.Path & "生成"
    
    
      
        For i = LBound(Arr) To UBound(Arr)
            
            '##########################################
            If i > 5 Then GoTo Here   '控制输出几份,注释掉则不限制数量
            '########################################
            '>>>>>>>>>>>>>>>>>诉前财产保全申请书.docx
            FileName = "诉前财产保全申请书.docx"
            FilePath = ModelFolder & FileName
            NewName = i & "-" & Arr(i, 2) & Arr(i, 3) & Arr(i, 4) & "-" & FileName
            NewPath = NewFolder & NewName
            '预先清除文件
            On Error Resume Next
            Kill NewPath
            On Error GoTo 0
            Set OpenDoc = wdApp.Documents.Open(FilePath)
            With OpenDoc
    
                '逐个信息替换
                With .Content.Find
                    .ClearFormatting
                    .Replacement.ClearFormatting
                    .Text = "姓名"
                    .Replacement.Text = Arr(i, 2)
                    .Execute Replace:=wdReplaceAll
                End With
    
                With .Content.Find
                    .ClearFormatting
                    .Replacement.ClearFormatting
                    .Text = "身份证"
                    .Replacement.Text = Arr(i, 3)
                    .Execute Replace:=wdReplaceOne
                End With
    
                With .Content.Find
                    .ClearFormatting
                    .Replacement.ClearFormatting
                    .Text = "性别"
                    .Replacement.Text = Arr(i, 4)
                    .Execute Replace:=wdReplaceOne
                End With
    
                With .Content.Find
                    .ClearFormatting
                    .Replacement.ClearFormatting
                    .Text = "出生日期"
                    .Replacement.Text = Arr(i, 5)
                    .Execute Replace:=wdReplaceOne
                End With
    
                With .Content.Find
                    .ClearFormatting
                    .Replacement.ClearFormatting
                    .Text = "机构名称"
                    .Replacement.Text = Arr(i, 9)
                    .Execute Replace:=wdReplaceOne
                End With
    
                With .Content.Find
                    .ClearFormatting
                    .Replacement.ClearFormatting
                    .Text = "账户号"
                    .Replacement.Text = Arr(i, 7)
                    .Execute Replace:=wdReplaceOne
                End With
    
                With .Content.Find
                    .ClearFormatting
                    .Replacement.ClearFormatting
                    .Text = "冻结金额"
                    .Replacement.Text = Arr(i, 8)
                    .Execute Replace:=wdReplaceOne
                End With
    
                With .Content.Find
                    .ClearFormatting
                    .Replacement.ClearFormatting
                    .Text = "合同日期"
                    .Replacement.Text = Arr(i, 6)
                    .Execute Replace:=wdReplaceOne
                End With
    
    
                '>>>>>>>>>>>>>>>>>>>>>>>>>
                .SaveAs NewPath
                .Close True
            End With
    
        Next i
    
    Here:
        wdApp.Quit
    
    
        '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        UsedTime = VBA.Timer - StartTime
        MsgBox "本次耗时:" & Format(UsedTime, "0.000秒"), vbOKOnly, "Excel Studio"
    
    ErrorExit:
        Set Wb = Nothing
        Set Sht = Nothing
        Set Rng = Nothing
        Set wdApp = Nothing
    
    
        Application.ScreenUpdating = True
        Application.DisplayAlerts = True
        Application.Calculation = xlCalculationAutomatic
        Application.StatusBar = False
        Exit Sub
        '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    ErrHandler:
        If Err.Number <> 0 Then
            MsgBox Err.Description & "!", vbCritical, "Excel Studio"
            'Debug.Print Err.Description
            Err.Clear
            Resume ErrorExit
        End If
    End Sub
    

      

  • 相关阅读:
    (转)使用vsphere client 克隆虚拟机
    【转】VIM高级用法笔记
    Oracle RAC的Failover
    /dev/shm过小导致ORA00845错误解决方法
    (转)How to use udev for Oracle ASM in Oracle Linux 6
    ORACLE十进制与十六进制的转换
    解决Oracle RAC不能自动启动的问题
    RAC集群时间同步服务
    db link hang的解决方法
    【转载】Oracle数据恢复 Linux / Unix 误删除的文件恢复
  • 原文地址:https://www.cnblogs.com/nextseven/p/7128204.html
Copyright © 2020-2023  润新知