Excel VBA 获取Windows特殊文件夹路径方法

版权申诉
0 下载量 28 浏览量 更新于2024-08-11 收藏 2KB TXT 举报
"这篇文本文档讲述了如何在VB.NET中,通过VSTO(Visual Studio Tools for Office)来获取Windows系统的特殊文件夹路径。利用WScript.Shell对象的SpecialFolders属性,可以访问到一系列预定义的系统特殊文件夹。文中提供了三种不同的方法来实现这一功能,并列举了部分特殊文件夹的名称关键字。" 详细说明: 在VB.NET开发环境中,VSTO允许开发者创建强大的Office应用程序扩展,包括自定义功能区、自动化任务等。在某些情况下,我们可能需要访问用户的特定系统文件夹,如桌面、我的文档或字体文件夹。通过WScript.Shell对象的SpecialFolders属性,我们可以方便地获取这些特殊文件夹的路径。 以下是三个使用WScript.Shell对象获取特殊文件夹路径的方法: 1. **SpecialFoldersInfoMethod0**: 这个方法利用了`Environ("HOMEPATH")`函数,它返回用户的主目录路径,然后结合`\Desktop`来构建桌面路径。这种方法虽然简单,但仅适用于获取用户的桌面路径,对于其他特殊文件夹则不适用。 2. **SpecialFoldersInfoMethod1**: 这种方法创建了一个`WshShell`对象实例,并使用其`SpecialFolders("desktop")`属性来直接获取桌面路径。`WshShell`对象的`SpecialFolders`属性提供了一个集合,可以通过关键字访问到各种特殊文件夹。例如,`"desktop"`对应用户的桌面,`"MyDocuments"`对应用户的“我的文档”文件夹。 3. **SpecialFoldersInfoMethod2**: 这个方法使用`CreateObject("Wscript.shell")`动态创建`WScript.Shell`对象,然后同样通过`SpecialFolders("desktop")`获取桌面路径。这种方式与方法1类似,但不依赖于VB.NET的内置对象,而是使用COM对象来实现。 除了上述的桌面文件夹,WScript.Shell对象的SpecialFolders属性还支持以下一些特殊文件夹的关键字: - 公共桌面:("AllUsersDesktop") - 公共程序:("AllUsersStartMenu", "AllUsersPrograms") - 公共启动:("AllUsersStartup") - 收藏:("Favorites") - 字体:("Fonts") - 我的文档:("MyDocuments") - 网络:("NetHood") - 打印机:("PrintHood") - 程序:("Programs") - 最近:("Recent") 通过替换这些关键字,开发者可以根据需求获取不同类型的系统特殊文件夹路径。这些路径在创建快捷方式、备份文件、安装程序或进行自动化任务时非常有用。在VSTO项目中,可以将这些方法封装成公共函数,以便在多个地方重用。