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