vba 循环打开多个word文件,提取数据依次存放到一个excel文件里,如何编程? 80

假设有1-300个word文件,文件名为1.doc,2.doc........300.doc。如何将其中指定的内容,提取到一个excel表格中?本人已经测试成功一个文件提... 假设有1-300个 word 文件,文件名为1.doc,2.doc........300.doc。如何将其中指定的内容,提取到一个excel表格中?
本人已经测试成功一个文件提取相关内容。但是不会依次循环打开不同文件,提取信息。
测试成功程序:
Sub 按钮1()
Dim myPath As String
Set Wdapp = CreateObject("Word.Application")
Wdapp.Visible = True
Application.ScreenUpdating = False '关闭屏幕刷新
' On Error Resume Next'捕捉错误
myPath = ThisWorkbook.Path & "\1.doc" '定义word文件路径,自己修改
Set wdDoc = Wdapp.Documents.Open(myPath) '打开word
wdDoc.Activate
sr = wdDoc.Content '将word的文档内容赋予变量sr
MsgBox Mid(sr, InStr(sr, "产品名称") + 4, 30)
'Range("A1") = Mid(sr, InStr(sr, "产品名称") + 4, 30)
Range("b4") = Mid(sr, InStr(sr, "检验报告编号:") + 7, 25)
Range("o4") = Mid(sr, InStr(sr, "四、检验结果") + 58, 5)

wdDoc.Close '关闭word
Wdapp.Quit
Set Wdapp = Nothing
Set wdDoc = Nothing
Application.ScreenUpdating = True '开启屏幕刷新
End Sub

推荐可能用到 相关程序:
1 ‘**********************
Dim myPath As String
Dim myFileName As String
Dim i As Long
myPath = ThisWorkbook.Path & "\" '指定文件夹
myFileName = Dir(myPath, 0)
i = 0
Do While Len(myFileName) > 0
Cells(i + 1, 1) = myPath & myFileName '显示文件路径
myFileName = Dir()
i = i + 1
Loop
MsgBox "该文件夹里有" & i & "个文件" '就是你所需要的统计数
是否可以参考:http://zhidao.baidu.com/question/520989330.html?fr=push
展开
 我来答
匿名用户
2019-04-25
展开全部
请问是否可以将完整的运行成功的程序发给我,我也有同样的需求,万分感谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
skyzxh

2018-03-14 · 知道合伙人软件行家
skyzxh
知道合伙人软件行家
采纳数:2623 获赞数:8343
毕业于中科院,硕士,30年工程从业经验。现任公司技术负责。

向TA提问 私信TA
展开全部
用Dir不可以吗?
追问
问题已经解决。谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夺杏碎269
2016-01-11 · 超过15用户采纳过TA的回答
知道答主
回答量:218
采纳率:100%
帮助的人:37.3万
展开全部
参考下面的代码:
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Application.ScreenUpdating = False
If MsgBox("需要操作的数据表是:EXCEL2003 格式,请选择:是!" & Chr(13) & "" & Chr(13) & "需要操作的数据表是:EXCEL2007 格式,请选择:否!", vbYesNo, "北极狐提示!!") = vbYes Then
S = "\*.xls"
ss = 4
Else
S = "\*.xlsx"
ss = 5:
End If
F = Dir(ThisWorkbook.Path & S)
Do While F > " "
If F <> ThisWorkbook.Name Then
Set xlBook = Workbooks.Open(ThisWorkbook.Path & "\" & F) '打开已经存在的EXCEL工件簿文件
For Each sh In xlBook.Worksheets '遍历工作表
with sh
'自己的代码
end with
Windows(ThisWorkbook.Name).Activate'回到打开的工作簿
Next
Windows(F).Close (true)'关闭打开的工作簿,并保存。
F = Dir
Loop
Application.ScreenUpdating = True
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式