Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1949|回复: 1

[已解决]怎么用VBA给电脑盘生成目录

[复制链接]
发表于 2012-9-26 21:50 | 显示全部楼层 |阅读模式
电脑E盘有很多电影分别存在从A到Z文件夹中,有的是文件夹,有的直接就是RM,或者AVI。。。格式,我想生成一个目录,通过目录点击超链接就可以直接打开所点击的电影所在的文件夹,有办法办到吗?谢谢
最佳答案
2012-9-26 23:12
  1. Sub Test()
  2.     Dim p As String, arr, i As Long
  3.     Application.ScreenUpdating = False
  4.     p = "E:"
  5.     CreateObject("wscript.shell").Run "cmd /c dir /s/b/a-d/on """ & p & "\*.*"">c:\myls.txt", 0, 1
  6.     Open "c:\myls.txt" For Input As #1
  7.     arr = Split(StrConv(InputB(LOF(1), #1), vbUnicode), vbCr & vbLf)
  8.     Close #1
  9.     Kill "c:\myls.txt"
  10.     Cells.Clear
  11.     For i = 1 To UBound(arr)
  12.         Sheet1.Hyperlinks.Add anchor:=Cells(i, 1), Address:=Left(arr(i - 1), InStrRev(arr(i - 1), "") - 1), TextToDisplay:=arr(i - 1)
  13.     Next
  14.     Application.ScreenUpdating = True
  15. End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-9-26 23:12 | 显示全部楼层    本楼为最佳答案   
  1. Sub Test()
  2.     Dim p As String, arr, i As Long
  3.     Application.ScreenUpdating = False
  4.     p = "E:"
  5.     CreateObject("wscript.shell").Run "cmd /c dir /s/b/a-d/on """ & p & "\*.*"">c:\myls.txt", 0, 1
  6.     Open "c:\myls.txt" For Input As #1
  7.     arr = Split(StrConv(InputB(LOF(1), #1), vbUnicode), vbCr & vbLf)
  8.     Close #1
  9.     Kill "c:\myls.txt"
  10.     Cells.Clear
  11.     For i = 1 To UBound(arr)
  12.         Sheet1.Hyperlinks.Add anchor:=Cells(i, 1), Address:=Left(arr(i - 1), InStrRev(arr(i - 1), "") - 1), TextToDisplay:=arr(i - 1)
  13.     Next
  14.     Application.ScreenUpdating = True
  15. End Sub
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-8 09:04 , Processed in 0.323318 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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