word文档从excel中采集数据,
根据工作需要,有时会发放一些基本信息调查表,内容不同。当它们被收集时,它们将被逐个重新输入,工作量是巨大的。有没有好的方法可以一起自动输入数据?Office最大的优势就是联动,尤其是2013版以来,PPT、Word、Excel中的功能整合趋势更加明显。今天边肖分享一个通过Word文件收集信息,用Excel自动提取数据的方法。
首先,根据正常的工作要求,制作Word信息采集表。制作完成后,修改要填充的信息框,切换到开发模式选项卡,点击“Aa”格式文本内容控件(如果没有,点击文件-选项-自定义功能区,勾选右边的“开发工具”)。
接下来,单击信息框,并在开发工具中单击“设计模式”。
在弹出的对话框中输入标题,即信息框的信息提示文本。如果需要,还可以修改边框颜色、文字样式等。
在相应修改每个信息框后,在开发模式中单击“限制编辑”。在Word的右栏中,选中“限制所选样式的格式”和“仅允许在文档中进行这种类型的修改”,并选中“填写表单”。
单词部分设置完毕。这时,可以将文件发送给已收集信息的人。返回后,Excel会自动从Word中批量提取信息填入表单。打开Excel,同样切换到开发工具选项卡,点击最左边的“Visual Basic”。
双击Sheet1,填写宏代码(在PC上登录微信,在订阅号里找到office note,点击查看历史消息找到这篇文章再复制):
选项基础1
Sub readDoc()
将WordApp调成Word。应用
Set WordApp=CreateObject(Word。应用程序’)
将WordDoc调暗为Word。文件
Dim diag1 As对话框
Dim return1作为字符串
Dim filePathArray()
设置diag1=应用程序。文件对话框(msoFileDialogFilePicker)
“定义文件选择”对话框
带诊断1。 AllowMultiSelect=True 设置文件选择对话框以选择多个文件。
1=.“显示”打开文件选择对话框。
N=.SelectedItems.Count 将选定文件的数量保存到变量n中。
如果return1=-1,则
如果选择了一个文件(retun1=-1),所选择的文件路径将被保存到filePathArray数组中。
ReDim文件路径数组(n)
对于i=1至n
filePathArray(i)=。选择项目(一)
然后
如果未选择文件,则提示“Else”。
MsgBox 未选择文件,VB感叹号
如果…就会结束
以…结尾
对于j=1至n
设置WordDoc=WordApp。Documents.Open(filePathArray(j))
根据filePathArray数组中的路径逐个打开Word文件。
Dim ccSet
设置ccSet=WordDoc。内容控件
将ccSet设置为打开文档的内容控件集合
i=1
对于ccSet中的每个cc,遍历所有内容控件
application . active sheet . cells(j,i)=cc.range.text 将内容控件的内容保存到单元格中。
i=i 1
然后
WordDoc。“关闭”关闭当前Word文档。
然后
WordApp。放弃
末端接头
注意:复制完宏代码后,不要急着关闭。在当前Visual Basic界面顶部的工具栏中点击工具-引用,在可用引用中找到Microsoft Word 16.0对象库,勾选确定(在Word2013中名称略有不同)。
回到Excel主界面,或者在开发工具页签中点击“宏”,选择刚刚编辑好的宏命令,点击“运行”。这时Excel会自动弹出文件选择框,找到要提取信息的Word文档,点击打开,Excel就可以开始自动提取信息了。这样,数据提取由计算机自动完成,大大节省了工作时间,避免了人工提取的错误概率。