【发布时间】:2010-09-20 20:32:20
【问题描述】:
如何在 VBA 前面板中放置文件路径控件?我希望用户能够选择浏览按钮并选择文件路径,而不是到处放置对话框。我需要用户选择三个或更多文件路径。
【问题讨论】:
如何在 VBA 前面板中放置文件路径控件?我希望用户能够选择浏览按钮并选择文件路径,而不是到处放置对话框。我需要用户选择三个或更多文件路径。
【问题讨论】:
在重新阅读你的 Q 之后,你想避开对话框!哦,好吧,我正要说
我可以发布关于在 VBA 上使用 MSDIAG 的技巧,这解释了 如何修补注册表 在 VBA 下启用它, 无需其他 MS-VB 产品 安装...但我宁愿拥有你 谷歌那个...你当然可以 明白为什么。
但您不需要对话框...您需要控件和按钮:使用 列表框! 要填充您的列表框,请使用 Dir 命令(使用列表框的方法 additem)。 实现这一目标的两个阶段:
最后,在列表框的 OnClick 和 OnDoubleClick 下,您必须解释列表框默认属性(Item),检查“->”并使用 ChDir 更改目录并重新填充,否则您将选择您的文件。
写出来的东西比代码复杂得多……相信我。
【讨论】:
您是指 Microsoft Office 的 VBA 还是一般的 VBA?
在办公室,Application.FileDialog(msoFileDialogOpen)。
否则,请查看 Win32 API 函数 SHBrowseForFolder(在 shell32.dll 中)。您可以使用 Declare Function 关键字将其导入 VBA 以供使用。
【讨论】:
没有直接的 VBA 功能。您可以决定将表单(Access 表单或通用 Microsoft 表单)与 2 个控件组合:(1) 文本框 (2) 浏览按钮(最终将使用 fileDialog 命令或 windows API)。
【讨论】:
也许从 Microsoft MVPs 站点浏览文件夹 API 会适合:
http://www.mvps.org/access/api/api0002.htm
它使用 fwzgekg 提到的 SHBrowseForFolder,并且不返回文件对话框,它返回一个可浏览的文件夹列表。
【讨论】:
这是你想要的吗?
FilePath = Application.GetOpenFilename
【讨论】: