|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
vba把excel数据转到word太慢,求大佬帮忙优化一下:
Sub excel到Word文件()
Dim Word对象 As New Word.Application, 当前路径, 导出文件名, 导出路径文件名, i, j
Dim Str1, Str2
当前路径 = ThisWorkbook.Path
最后行号 = Sheets("数据").Range("B65536").End(xlUp).Row
判断 = 0
For i = 2 To 最后行号
FileCopy 当前路径 & "\测试报告(模板).docx", 当前路径 & "\" & 导出文件名 & "(" & Sheets("数据").Range("D" & i) & ").docx"
导出路径文件名 = 当前路径 & "\" & Sheets("数据").Range("D" & i) & ").docx"
With Word对象
.Documents.Open 导出路径文件名
.Visible = False
For j = 1 To 102 '填写文字数据
Str1 = "数据" & Format(j, "000")
Str2 = Sheets("数据").Cells(i, j + 1)
.Selection.HomeKey Unit:=wdStory '光标置于文件首
If .Selection.Find.Execute(Str1) Then '查找到指定字符串
.Selection.Font.Color = wdColorAutomatic '字符为自动颜色
.Selection.Text = Str2 '替换字符串
End If
Next j
For j = 1 To 3 '填写表格数据
.ActiveDocument.Tables(1).Cell(2, j).Range = Sheets("数据").Cells(i, j + 6)
.ActiveDocument.Tables(1).Cell(4, j).Range = Sheets("数据").Cells(i, j + 9)
Next j
End With
Word对象.Documents.Save
Word对象.Quit
Set Word对象 = Nothing
Next i
If 判断 = 0 Then
i = MsgBox("已输出到 Word 文件!", 0 + 48 + 256 + 0, "提示:")
End If
End Sub
|
|