Word vba 宏批处理应用实例(一)

Word vba 宏批处理应用实例(一)

Office办公软件使用过程中,应用宏进行批处理操作,能帮助工作者节省大量时间,提高办公效率与准确性,而且是一件非常有意思的事情。废话不说了,直接上实例——Word vba之文档表格内容自动合并。
举个栗子,有两个word文档:A和B。A中有200页,每页中有一个表格,表格第一行需要录入天气数据,见图1所示。B中有一个表格,有200行,每行有1条天气数据,见图2所示。现在需要把文档B中的天气数据拷贝到文档A中,你会怎么处理?CTRL+C然后CTRL+V,想想——心累。。。。手好酸。。。。。。。。然而,如果你用Word vba 来处理,你就可以坐在旁边喝咖啡了。
Word vba 宏批处理应用实例(一)_第1张图片
图1 Word文档A
Word vba 宏批处理应用实例(一)_第2张图片
图2 文档B

操作过程很简单,代码也就几行:

1)打开文档A,进入视图选项卡,点击宏图标,打开宏界面,如图。
Word vba 宏批处理应用实例(一)_第3张图片
2)宏名随便输入个名称如“aa”,点击创建,进入Word vba 工程界面,然后复制以下代码,覆盖原有内容,如下图。完成后保存,若无法保存,文档A 另存为启用宏的Word文档(*.docm)。
Word vba 宏批处理应用实例(一)_第4张图片

Sub tianqi_copy()
     Dim source, target, ttt As String
     source = ""
     target = ""
     target = ActiveDocument.Name
     Dim dias As Dialog
     Set dias = Dialogs(wdDialogFileOpen)
     If dias.Show = -1 Then
     source = dias.Name
     End If
     If source = "" Or target = "" Then
     Exit Sub
     End If
     Windows(source).Activate
     For n = 1 To ActiveDocument.Tables(1).Rows.Count
     Windows(source).Activate
     ttt = ActiveDocument.Tables(1).Cell(n - 1, 1).Range
     ttt = Replace(ttt, Chr(13), "")
     Windows(target).Activate
     ActiveDocument.Tables(n).Cell(1, 1).Range = ttt
     Next
End Sub

3)关闭word vba工程界面,再次点击文档A 宏选项,这回就有个tianqian_copy的宏,选择运行,弹出文件选择窗口,选择B文档,然后就等待执行完毕,时间长可以去喝个咖啡,回来就看到文档A中每个表格已经录好了天气数据。
Word vba 宏批处理应用实例(一)_第5张图片
Word vba 宏批处理应用实例(一)_第6张图片
Word vba 宏批处理应用实例(一)_第7张图片

下期Word vba再举个高级的栗子,那个代码就长了。

你可能感兴趣的:(经验分享,visual,studio,编辑器)