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

  • 来源:PC电脑王
  • 关键字:Excel,年度考核,干部
  • 发布时间:2015-12-15 14:08

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

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

  Sub test()

  Dim Word App As New Word.

  Application,My File$,arr,i%

  arr=Range(“A1”).Current Region

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

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: