设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1771|回复: 3
打印 上一主题 下一主题

工作问题困惑很久了,恳请老师们帮我实现如下功能。

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2018-9-19 15:35:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
恳请各位老师帮我实现如下功能:1、如果在各级文件夹中存在对应的文件,双击D列文件名称就能打开对应的文件(主要为PDF、xls、xlsx、doc、docx类型文件);
2、如果各级文件夹中存在与文件名称对应的文件,如文件1、2、3等,则在F列显示“有”,如果各级文件夹中不存在与文件名称对应的文件,如文件111、aaaaa等,则在F列显示为“无”。
因为有几百个文件夹(文件夹中有子文件夹),有成千上万个文件存放在这些文件夹中,本人请几个老师写过VBA,但因为文件和文件夹太多,VBA运行起来很卡,效率不高。只好再次求助于各位老师,看能否有更加有效的解决方法。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2018-9-19 15:49:30 | 只看该作者
其实吧,文件夹没有规律的话,不管使用什么样的循环,都是需要全局来搜索的。全部文件有1000个,就需要循环1000次。然后每个单元格1000次,100个单元格就是10万次~~~
如果想优化的话,最好还是先从文件夹命名上面进行简化,尽可能减少循环。例如,文件夹使用了省份来命名,搜索某省的某个文件时,只需要去某个省的文件夹下进行搜索,而不必从全国范围内搜索,这样才可能提高速度的。
命名乱七八糟的话,除了提升内存,CPU等硬件条件之外(硬件优化的提升度也相当有限),不会有更佳的优化方式的。

点击这里给我发消息

3#
 楼主| 发表于 2018-9-19 15:52:50 | 只看该作者
roych 发表于 2018-9-19 15:49
其实吧,文件夹没有规律的话,不管使用什么样的循环,都是需要全局来搜索的。全部文件有1000个,就需要循环 ...

老师:文件夹和文件名是有规律的,如下图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
发表于 2018-9-19 16:05:58 | 只看该作者
adouleonshaw 发表于 2018-9-19 15:52
老师:文件夹和文件名是有规律的,如下图

怎么说呢?例如,你的文件名含有某个文件夹的某些特征字符,或许可以优化的。例如,文件名为:
90轻轨长隆停车场天桥-a.docx
这样的话,就可以直接在文件夹“90轻轨长隆停车场天桥”搜索,进行判断,会减少循环次数。但是,如果你的文件名是:a.docx---另一种是按文件夹名称来命名工作表,同样也可以相对减少循环次数。

根本不知道这个文件在哪个文件夹里,就必须循环每个文件夹,效率自然低很多了。即使你用了exit for也不会快多少,往往也要搜索很多个文件夹(exit for只是查找到就退出,不再查找剩下的文件罢了。但肯定比第一次就确定文件夹要多很多次循环)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 03:59 , Processed in 0.093093 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表