word文档从excel中采集数据,

  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就可以开始自动提取信息了。这样,数据提取由计算机自动完成,大大节省了工作时间,避免了人工提取的错误概率。

word文档从excel中采集数据,