ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 如何运用API全盘搜索某文件

如何运用API全盘搜索某文件

作者:绿色风 分类: 时间:2022-08-18 浏览:85
楼主
xmyjk
Q:如何运用API全盘搜索文件

A:API另类某文件全盘搜索。
  1. Option Explicit
  2. Private Declare Function SearchTreeForFile Lib "ImageHlp.dll" (ByVal lpRoot As String, ByVal lpInPath As String, ByVal lpOutPath As String) As Long
  3. Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

  4. Sub test()
  5.     Dim Fnm As String, i&, sph As String, sfl As String, r As Long, m&, rs As String
  6.     Fnm = InputBox("精确输入要查找文件名", , "1.xls")
  7.     For i = 0 To 25
  8.         sph = Chr(i + 65) & ":"    '历遍每个盘
  9.         If GetDriveType(sph) = 3 Then    '如果是硬盘
  10.             sfl = String(1024, 0)    '创建文件名缓存字符串
  11.             r = SearchTreeForFile(sph, Fnm, sfl) '在该盘查找该文件
  12.             m = m + 1 '计数器加1
  13.             If m > 1 Then rs = rs & vbCrLf '如果非首次,折结果字符串换行
  14.             If r <> 0 Then rs = rs & Trim(Split(sfl, Chr(0))(0)) Else rs = rs & Chr(i + 65) & "盘查找不到该文件!" '记录搜索结果
  15.         End If
  16.     Next
  17.     MsgBox rs
  18. End Sub

API全盘搜.zip
2楼
xyf2210
果断收藏

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap