|
楼主 |
发表于 2013-7-23 22:10
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 qinhuan66 于 2013-7-24 07:53 编辑
代码好下:
Private Sub CommandButton4_Click()
Dim Word对象 As New Word.Application, 当前路径, 导出文件名, 导出路径文件名, 判断, i, j
Dim Str1, Str2
当前路径 = ThisWorkbook.Path & "\准考证发放包"
最后行号 = Sheets("数据库").Range("B1002").End(xlUp).Row
B = InputBox("请输入数据开始行,不能小于3行。", "提示")
C = InputBox("请输入数据结束行,不能大于10000行。", "提示")
判断 = 0
导出文件名 = "准考证(参加本次考试全部人员).doc"
导出路径文件名 = 当前路径 & "\" & 导出文件名
FileCopy 当前路径 & "\准考证打印模板.doc", 导出路径文件名
With Word对象
.Documents.Open 导出路径文件名
.Visible = False
.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument '设置位置在正文
.Selection.WholeStory '全选
.Selection.Copy '复制
If 最后行号 > 3 Then
For i = 3 To C - 1 '复制页
.Selection.EndKey Unit:=wdStory '光标置于文件尾
.Selection.InsertBreak Type:=wdPageBreak '分页
.Selection.PasteAndFormat (wdPasteDefault) '粘贴
Next i
End If
For i = B To C
For j = 1 To 10 '填写文字数据
Str1 = "数据" & Format(j, "000")
Str2 = Sheets("数据库").Cells(i, j)
.Selection.HomeKey Unit:=wdStory '光标置于文件首
If .Selection.Find.Execute(Str1) Then '查找到指定字符串
.Selection.Font.Color = wdColorAutomatic '字符为自动颜色
.Selection.Text = Str2 '替换字符串
End If
Next j
Next i
End With
Word对象.Documents.Save
Word对象.quit
Set Word对象 = Nothing
If 判断 = 0 Then
i = MsgBox("朋友你需要的准考证已生成完毕,现已保存到“" & 导出路径文件名 & "”!如需要帮助请QQ联系695360052", 0 + 48 + 256 + 0, "提示:"): Unload 登录操作界面
End If
End Sub
|
|