通过Word文件收集信息 使用Excel自动摘录数据方法

根据工作要求 , 有时候会安排发放一些基本信息调查表 , 内容各不相同 , 等收回来的时候 , 一个一个文档进行重新录入 , 工作量十分巨大 。有没有好的办法能够自动将数据统一录入到一起呢?Office的最大优势就是联动 , 尤其从2013版本开始 , PPT、Word、Excel里功能互相融合的趋势更加明显 。今天小编就分享一个通过Word文件收集信息 , 使用Excel自动摘录数据的方法 。
软件名称:
Excel2003绿色版 EXCEL2003精简绿色版 (附excel2003绿色工具)
软件大小:
首先按照正常的工作要求制作Word信息收集表 , 制作完毕后修改待填信息框 , 切换到开发模式选项卡 , 点击 Aa 格式文本内容控件(如果没有 , 点击文件选项自定义功能区 , 右侧勾选 开发工具 ) 。
接下来单击信息框然后在开发工具中点选 设计模式。
弹出对话框输入标题 , 这就是信息框的信息提示文 , 要是有需求 , 还可以修改边框颜色、文本样式等等 。
每个信息框都做了相应的修改后 , 点击开发模式中的限制编辑 , 在Word右侧栏中 , 勾选 限制对选定的样式设置格式 和 仅允许在文档中进行此类型的修改 并选中 填写窗体。
Word部分就设置完毕了 , 这时候可以将文件发送给被收集信息者 , 待返回后 , 开始用Excel批量自动摘录Word填表信息 。打开Excel , 同样是切换到开发工具选项卡 , 点选最左侧的Visual Basic 。
双击Sheet1 , 填写宏代码(登录PC版微信 , 订阅号中找到办公便签 , 点击查看历史消息找到本文再进行复制):
Option Base 1
Sub readDoc()
Dim WordApp As Word.Application
Set WordApp = CreateObject(Word.Application)
Dim WordDoc As Word.Document
Dim diag1 As FileDialog
Dim return1 As String
Dim filePathArray()
Set diag1 = Application.FileDialog(msoFileDialogFilePicker)
'定义文件选择对话框
With diag1
.AllowMultiSelect = True '设置文件选择对话框能够选择多个文件
return1 = .Show '打开文件选择对话框
n = .SelectedItems.Count '将选中文件个数保存至变量n
If return1 = -1 Then
'如选中文件(retun1=-1)则将选中的文件路径保存到filePathArray数组
ReDim filePathArray(n)
For i = 1 To n
filePathArray(i) = .SelectedItems(i)
Next
Else '如果未选中任何文件则提示
MsgBox 未选择任何文件 ,  vbExclamation
End If
End With
For j = 1 To n
Set WordDoc = WordApp.Documents.Open(filePathArray(j))
'根据filePathArray数组中的路径逐个打开Word文件
Dim ccSet
Set ccSet = WordDoc.ContentControls
'将ccSet设为打开文档的内容控件集合
i = 1
For Each cc In ccSet '遍历所有内容控件
Application.ActiveSheet.Cells(j ,  i) = cc.Range.Text '将内容控件内容保存至单元格
i = i + 1
Next
WordDoc.Close '关闭当前Word文档
Next
WordApp.Quit
End Sub
注意 , 抄录好宏代码后 , 不要着急关闭 , 点选当前Visual Basic界面上方工具栏的 工具引用  , 在可使用的引用中找到Microsoft Word 16.0 Object Library并勾选确定(Word2013中名称略有不同) 。
【通过Word文件收集信息 使用Excel自动摘录数据方法】回到Excel主界面 , 还是在开发工具选项卡中 , 点击 宏  , 选中刚才编辑的这个宏命令 , 单击 运行  , 这时Excel会自动弹出文件选择框 , 找到要摘录信息的Word文档点选打开 , Excel就可以开始自动摘录信息了 。这样一来 , 数据摘录的工作就完全依靠电脑自动完成了 , 大大节省了工作时间 , 也避免了手工摘录的出错几率

经验总结扩展阅读