APP下载

将Excel考核结果批量导入Word格式的任免考核表

2015-04-29

电脑迷 2015年12期
关键词:组合键批量对话框

同事急忽忽的前来求助,单位人员近三年的年度考核结果都保存在Excel表格,如图1所示,这里按照姓名、考核结果列出了所有人员的年度考核结果,她现在需要将这些考核结果导入到已形成的《干部任免考核表》的“年度考核结果”单元格,但这些任免考核表都是Word格式,由于考核人员接近千人,如果全部通过手工的方法完成导入,工作量可想而知,而且也很容易出现错误,有没有简单方便一些的方法呢?

我们可以借助VBA代码完成这一任务,打开Excel格式的年度考核表,按下“Alt+F11”组合键,打开Microsoft Visual Basic for Applications编辑器窗口,依次选择“插入→模块”,在右侧窗格插入一个空白模块,在这里手工输入或粘贴如下代码:

Sub test()

Dim WordApp As New Word.Application, MyFile$, arr, i%

arr = Range("A1").CurrentRegion

MyPath = ThisWorkbook.Path & "\"

Application.ScreenUpdating = False

For i = 2 To UBound(arr)

MyFile = Dir(MyPath & "*.doc")

Do While MyFile <> ""

If InStr(MyFile, arr(i, 1)) And MyFile <> ThisWorkbook.Name Then

d = True

With GetObject(MyPath & MyFile)

.tables(2).cell(2, 2).Range.text = arr(i, 2)

.Close True

End With

End If

MyFile = Dir

Loop

Next

MsgBox "批量导入完成!"

Application.ScreenUpdating = True

End Sub

上述代码的“test”可以根据喜好任意设置,导入完成之后的提示信息也可以按照需要设置,检查无误之后依次选择“文件→关闭并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”组合键,打开“宏”对话框,选择并运行宏,此时会看到图2所示的“批量导入完成”的对话框,随后会在相应的Word表格完成年度考核结果的批量填充,效果如图3所示。如果提示“找不到工程或库”,请打开“引用 - VBAProject”对 话框,在可使用的引用列表下勾选“Microsoft Word 16.0 object Library”复选框,确认之后即可生效。

猜你喜欢

组合键批量对话框
批量提交在配置分发中的应用
在同一程序的不同窗口间快速切换
正常恢复虚拟机
Bootlace Worms’Secret etc.
What Is Beauty?
浅谈VB的通用对话框《CommonDialog》控件的使用
浅议高校网银批量代发
巧用Windows键,让操作更具活力
基于AUTOIT3和VBA的POWERPOINT操作题自动批量批改
考虑价差和再制造率的制造/再制造混合系统生产批量研究