vba 按顺序打开文件夹下含特定字符的工作簿

据说workbooks.open不能用通配符。文件夹里都是月报表,但不一定每月都有。我知道:1、文件的路径,Z:\2006\2、文件的大致名称:是严格按年月日来命名的,格... 据说workbooks.open不能用通配符。
文件夹里都是月报表,但不一定每月都有。
我知道:
1、文件的路径,Z:\2006\
2、文件的大致名称:是严格按年月日来命名的,格式是2006-08-**.xls 或者2006-08-**.xlsx
3、每个月最多只有一个文件,也就是只有一个2006-08-**.xls(或者2006-08-**.xlsx)
4、字符串,整形变量和循环(for i=1 to X next i)操作的基本规则
问题是:怎么用按顺序打开它们?中间不报错
http://pan.baidu.com/s/1hqu5C4c
展开
 我来答
庆年工坊
2015-06-13 · 知道合伙人互联网行家
庆年工坊
知道合伙人互联网行家
采纳数:4233 获赞数:8928

向TA提问 私信TA
展开全部

如果能确保文件夹下类似2006-08-**.xls 或者2006-08-**.xlsx的文件只有一个,可用把如下代码

Sub xx()
Dim yy, mm, pth, fn, i
yy = [f3]
pth = "D:\" & yy & "\"
For i = [f4] To 12
    fn = Dir(pth & yy & "-" & Format(i, "00") & "-*.*")
    If fn <> "" Then
        Application.Workbooks.Open pth & fn
        '在此添加操作代码
        Application.Workbooks(fn).Close True '如要手动关闭文件删除本行
    End If
Next
End Sub
TableDI
2024-07-18 广告
作为上海悉息信息科技有限公司的一员,我们专注于提供高效的数据处理解决方案。对于多个文件表格的合并需求,我们通常采用专业的数据整合技术,确保数据的准确性和一致性。通过精确匹配表格字段和格式,我们能够快速、准确地将多个表格合并成一个,为用户提供... 点击进入详情页
本回答由TableDI提供
cnbubble
2015-06-13 · TA获得超过2606个赞
知道大有可为答主
回答量:1990
采纳率:83%
帮助的人:749万
展开全部
Sub OpenAllExcel()
    Dim fPath As String, fName As String
    
    fPath = "Z:\2006\"
    fName = Dir(fPath & "*.xls")
    Do While fName <> ""
        Application.Workbooks.Open fPath & fName
        '这里可以添加对每个打开文件的操作。
        fName = Dir
    Loop
End Sub

正常来说,如果你的文件名那么有规律,程序给出的就是按照日期排序的文件,不用特意再排序了。

如果有特殊情况,可以再使用排序。排序后再依次打开文件。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
biaotiger1
2015-06-12 · TA获得超过1164个赞
知道小有建树答主
回答量:1570
采纳率:33%
帮助的人:420万
展开全部
把文件名放到字典里,变成数组后,就可以用like比较了吧
追问
那请给我2000到2014每月最后一天的辞典,并告诉怎么用好吗?很初级的读码能力。谢谢!
追答
你的文件我没太看懂啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式