ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用vba代码以列表形式提取收藏夹里的内容到Excel中?

如何用vba代码以列表形式提取收藏夹里的内容到Excel中?

作者:绿色风 分类: 时间:2022-08-17 浏览:96
楼主
kevinchengcw
Q: 如何用vba代码以列表形式提取收藏夹里的内容到Excel中?
A: 代码如下:
  1. Sub test()
  2. Dim favPath$, FN$, Str$, Arr, Result, Arrt, N&
  3. With CreateObject("wscript.shell")  '创建WSH对象
  4.     favPath = .specialfolders("Favorites")   '提取收藏夹目录路径
  5.     FN = ThisWorkbook.Path & "\temp__.txt"  '指定网址快捷方式清单列表全路径名
  6.     .Run Environ("comspec") & " /c dir """ & favPath & "\*.url"" /s/b>""" & FN & """", 0, 1  '提取清单并等待执行完成
  7.     With CreateObject("scripting.filesystemobject").opentextfile(FN)  '利用FSO对象读取列表清单
  8.         Str = Trim(.readall)
  9.         .Close
  10.     End With
  11.     Kill FN  '删除清单文件
  12.     If Str <> "" Then  '判断清单文本是否有效
  13.         Arr = Split(Str, vbNewLine)  '依分行标记拆分放入数组
  14.         ReDim Result(LBound(Arr) To UBound(Arr) + 1, 1 To 3)   '根据得到的文件路径数组定义结果数组
  15.         Result(LBound(Result), 1) = "路径"  '写入清单标题
  16.         Result(LBound(Result), 2) = "文件名"
  17.         Result(LBound(Result), 3) = "Url"
  18.         For N = LBound(Arr) To UBound(Arr)  '循环清单各项
  19.             If Trim(Arr(N)) <> "" Then  '如果路径有效,则
  20.                 Arrt = Split(Arr(N), "\")  '拆分路径各级到数组
  21.                 Result(N + 1, 2) = Arrt(UBound(Arrt))   '写入文件名
  22.                 ReDim Preserve Arrt(LBound(Arrt) To UBound(Arrt) - 1)  '将文件名项从数组中删除
  23.                 Result(N + 1, 1) = Join(Arrt, "\")  '重新组合路径然后赋值给结果数组中的路径项
  24.                 Result(N + 1, 3) = .CreateShortcut(Arr(N)).targetpath  '提取指定文件对应的网址链接地址赋值给数组中的网址项
  25.             End If
  26.         Next N
  27.         [a1].Resize(UBound(Result) + 1, 3) = Result  '向工作表中写出结果
  28.         Columns.AutoFit  '列宽自适应
  29.     End If
  30. End With
  31. End Sub
详见附件及素材源帖.


test.rar
2楼
rongjun
学习k版代码
3楼
亡者天下
这个很有用啊
4楼
老糊涂
学习

免责声明

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

评论列表
sitemap