【问题标题】:File Path Control文件路径控制
【发布时间】:2010-09-20 20:32:20
【问题描述】:

如何在 VBA 前面板中放置文件路径控件?我希望用户能够选择浏览按钮并选择文件路径,而不是到处放置对话框。我需要用户选择三个或更多文件路径。

【问题讨论】:

    标签: file vba path controls


    【解决方案1】:

    在重新阅读你的 Q 之后,你想避开对话框!哦,好吧,我正要说

    我可以发布关于在 VBA 上使用 MSDIAG 的技巧,这解释了 如何修补注册表 在 VBA 下启用它, 无需其他 MS-VB 产品 安装...但我宁愿拥有你 谷歌那个...你当然可以 明白为什么。

    但您不需要对话框...您需要控件和按钮:使用 列表框! 要填充您的列表框,请使用 Dir 命令(使用列表框的方法 additem)。 实现这一目标的两个阶段:

    • 首先获取目录(并在将其添加到列表框之前添加“->”或其他前缀,以便用户了解这不是文件);
    • 然后获取文件名(您可以使用 Dir 的参数按扩展名进行过滤,就像在 DOS 中一样)。

    最后,在列表框的 OnClick 和 OnDoubleClick 下,您必须解释列表框默认属性(Item),检查“->”并使用 ChDir 更改目录并重新填充,否则您将选择您的文件。

    写出来的东西比代码复杂得多……相信我。

    【讨论】:

      【解决方案2】:

      您是指 Microsoft Office 的 VBA 还是一般的 VBA?

      在办公室,Application.FileDialog(msoFileDialogOpen)

      否则,请查看 Win32 API 函数 SHBrowseForFolder(在 shell32.dll 中)。您可以使用 Declare Function 关键字将其导入 VBA 以供使用。

      【讨论】:

      • 我不想使用文件对话框。我想要一个文件路径控件(如字符串控件)。带有浏览按钮的文本框 - 还有其他名称吗?
      【解决方案3】:

      没有直接的 VBA 功能。您可以决定将表单(Access 表单或通用 Microsoft 表单)与 2 个控件组合:(1) 文本框 (2) 浏览按钮(最终将使用 fileDialog 命令或 windows API)。

      【讨论】:

        【解决方案4】:

        也许从 Microsoft MVPs 站点浏览文件夹 API 会适合:

        http://www.mvps.org/access/api/api0002.htm

        它使用 fwzgekg 提到的 SHBrowseForFolder,并且不返回文件对话框,它返回一个可浏览的文件夹列表。

        【讨论】:

          【解决方案5】:

          这是你想要的吗?

          FilePath = Application.GetOpenFilename
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-04-20
            • 1970-01-01
            • 1970-01-01
            • 2021-12-09
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多