广西网站建设推广大概需要多少钱,国内网页设计网站,上海嘉定区网站建设,西安蓝海网站建设大家使用任意一款浏览器#xff08;例如#xff1a;Chrome、Edge#xff09;下载文件时#xff0c;如果【另存为】对话框选择C:\Download#xff0c;那么下次再次使用【另存为】功能#xff0c;对话框默认显示C:\Download#xff0c;而不是根目录。
在VBA开发中调用目录…大家使用任意一款浏览器例如Chrome、Edge下载文件时如果【另存为】对话框选择C:\Download那么下次再次使用【另存为】功能对话框默认显示C:\Download而不是根目录。
在VBA开发中调用目录选择器并不复杂但是这个目录选择器有些不方便并不具备Windows目录选择器的“记忆”功能。其实通过一些变通方法也可以实现相同的效果。
示例代码。
Sub SelectFolder()Dim objFolder As FileDialogDim strSelectedPath As StringSet objFolder Application.FileDialog(msoFileDialogFolderPicker)objFolder.InitialFileName GetSetting(MyApp, LastFolder, Path, C:\)objFolder.ShowIf objFolder.SelectedItems.Count 1 ThenstrSelectedPath objFolder.SelectedItems(1)SaveSetting MyApp, LastFolder, Path, strSelectedPathMsgBox 已选择目录: strSelectedPath, vbInformationElseMsgBox 未选中任何文件夹, vbCriticalEnd IfSet objFolder Nothing
End Sub【代码解析】 第4行代码创建FileDialog对象。 第5行代码设置目录选择器默认加载的目录GetSetting函数读取注册表中的键值如果找不到的话设置初始目录为C:\。 第6行代码显示目录选择器。 第7行代码判断用户选中的单个目录。 第8行代码读取用户选中的第一个目录。 第9行代码将用户选择的目录保存在注册表中。 第10行代码显示提示消息框。 第14行代码释放对象变量占用的系统资源。
用户最后一次选择的目录被保存在注册表中再次调用目录选择器时将默认加载上次选择的目录也就实现“记忆”功能。 貌似不可实现的功能其实也可以变通实现。