设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

请各位帮小弟实现以下功能,具体见内容!

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2018-9-18 10:00:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
文件名称为1、2、3、111、qqq的文件分布在不同的文件夹中,双击文件名称可打开对应的文件,4、5、6、aaaaa、(AP01-2017-004)xx文件不存在于文件夹中,双击打不开。请各位老师帮我实现:如果各文件夹中存在对应的文件,则在G列显示“有”,如果文件夹中不存在对应的文件,如aaaaa,则在G列显示为“无”。

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2018-9-18 12:00:45 | 只看该作者
将就用下吧,函数如下:
  1. Function isExists(ByVal rng As Range, Optional ByVal strExtName As String = ".pdf") As String
  2.     Dim fso As New FileSystemObject
  3.     Dim fd As Folder
  4.     Dim fl As File
  5.     Dim strFileName As String
  6.     Dim strExists As String
  7.     strExists = ""
  8.     For Each fd In fso.GetFolder(ThisWorkbook.Path).SubFolders
  9.         For Each fl In fd.Files
  10.             strFileName = Mid(fl, InStrRev(fl, "") + 1, Len(fl) - InStrRev(fl, "") - Len(strExtName))
  11.             If rng.Value = strFileName Then
  12.                 strExists = fl
  13.                 Exit For
  14.             End If
  15.             
  16.         Next
  17.     Next
  18.     isExists = strExists
  19. End Function
复制代码

将鼠标移动到函数所在的单元格,出现手型鼠标的时候,点击单元格即可

在弹出的警告栏上选择“是”,然后就可以打开文件了。

具体见附件:

本帖子中包含更多资源

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

x

点击这里给我发消息

3#
 楼主| 发表于 2018-9-18 14:05:43 | 只看该作者
roych 发表于 2018-9-18 12:00
将就用下吧,函数如下:

将鼠标移动到函数所在的单元格,出现手型鼠标的时候,点击单元格即可

老师:为什么移植到我的工作表中就出错了。

本帖子中包含更多资源

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

x
4#
发表于 2018-9-18 17:36:23 | 只看该作者
adouleonshaw 发表于 2018-9-18 14:05
老师:为什么移植到我的工作表中就出错了。

因为你没引用Microsoft Scripting runtime 库啊。你又没说在后面的Excel表使用~~~点击“工具\引用”,下拉滚动条,选择Microsoft Scripting runtime ,点击确定后就好了。



本帖子中包含更多资源

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

x

点击这里给我发消息

5#
发表于 2018-9-19 13:14:24 | 只看该作者
回复

使用道具 举报

点击这里给我发消息

6#
 楼主| 发表于 2018-9-19 13:18:10 | 只看该作者
roych 发表于 2018-9-18 17:36
因为你没引用Microsoft Scripting runtime 库啊。你又没说在后面的Excel表使用~~~点击“工具\引用”, ...

我有500条记录,为什么这段代码运行起来非常卡?大师能不能帮我优化一下?
7#
发表于 2018-9-19 14:21:05 | 只看该作者
adouleonshaw 发表于 2018-9-19 13:18
我有500条记录,为什么这段代码运行起来非常卡?大师能不能帮我优化一下?

跟记录条数可能不大,倒是跟你的文件夹和文件数量关系多一些。
——如果非要优化的话,就只能使用辅助列,一次性运行生成超链接地址,再用超链接地址写公式。这样的话,只需要运算一次。具体请参考:http://www.office-cn.net/thread-124788-1-1.html

点击这里给我发消息

8#
 楼主| 发表于 2018-9-19 14:22:58 | 只看该作者
roych 发表于 2018-9-19 14:21
跟记录条数可能不大,倒是跟你的文件夹和文件数量关系多一些。
——如果非要优化的话,就只能使用辅助列 ...

文件夹有100多个,文件有4000个左右

点评

http://www.office-cn.net/thread-124788-1-1.html  发表于 2018-9-19 15:37
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 19:07 , Processed in 0.096455 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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