文件夹资源管理器在Excel VBA中无法正常工作

永宗公园
Private Sub ButtonPath_Click()
    Cells(1, 32).Value = FolderExplorer()
End Sub

上面是我的用户窗体的代码。下面的代码是我的模块的FolderExplorer()函数。

'//Source : http://software-solutions-online.com/vba-folder-dialog/ , edited by me.
Public Function FolderExplorer()
    Dim intResult As Integer
    Dim strPath As String
    Application.FileDialog(msoFileDialogFolderPicker).ButtonName _
    = "Select Path"
    'the dialog is displayed to the user
    intResult = Application.FileDialog(msoFileDialogFolderPicker).Show
    'checks if user has cancled the dialog.
    If intResult <> 0 Then
        'dispaly message box
        'Call MsgBox(Application.FileDialog(msoFileDialogFolderPicker _
        ).SelectedItems(1), _
        vbInformation, "Selected Folder")
        FolderExplorer() = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
    End If
End Function

起初看起来效果不错。当我按用户窗体中的按钮时,FolderExplorer弹出。但是当我选择文件夹路径时,Folder Explorer再次弹出,而当我选择文件夹路径时,Folder Explorer再次弹出....永恒。

我的代码中没有循环。我怎么解决这个问题?

感谢您的提前答复。

阿鲁尔

您正在中FolderExplorer()递归调用FolderExplorer() = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)

您应该使用FolderExplorer = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)返回值。

下面是您的代码的简化版本。

Public Function FolderExplorer()
    Dim intResult As Integer
    Dim strPath As String

    With Application.FileDialog(msoFileDialogFolderPicker)
        .ButtonName = "Select Path"
        intResult = .Show
        If intResult <> 0 Then
            FolderExplorer = .SelectedItems(1)
        End If
    End With
End Function

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用资源管理器在Total Commander中删除文件/文件夹

在文件资源管理器中打开的文件夹的历史记录

从Windows资源管理器中的VS Code中打开文件夹

如何使OneDrive文件夹显示在Windows资源管理器中?

Windows:全局禁用资源管理器中的文件夹类型检测

如何在Nautilus文件夹资源管理器中添加书签

从Cmd在Windows资源管理器中打开文件夹

如何从终端显示资源管理器中的文件夹

在Windows 7的资源管理器树中显示我的用户文件夹

在最打开的Windows资源管理器中创建新文件夹

如何通过Python脚本在Windows资源管理器中打开文件夹?

在资源管理器中挂载Outlook共享文件夹?

如何使用Windows资源管理器隐藏用户文件夹中的项目?

如何取消在Windows资源管理器中打开文件夹?

如何使Vista中的资源管理器记住文件夹的视图?

防止在 Windows 资源管理器中打开重复的文件夹或子文件夹

如何在团队资源管理器的工作项面板中按文件夹复制查询

Android Studio文件资源管理器未显示数据文件夹中的文件

Windows 10 文件资源管理器:查找名称中带有括号的文件和文件夹

无法在团队资源管理器中的项目集合级别创建新文件夹

无法访问Visual Studio 2010解决方案资源管理器中的文件夹

在Windows 10中是否可以禁用文件资源管理器中的“特殊文件夹”图标

Windows 10 文件夹仅在文件资源管理器中显示在“音乐”中

如何关闭从某个驱动器中打开的文件夹的Windows资源管理器窗口

我们如何在文件资源管理器中修改文件夹的日期

在资源管理器中打开一个文件夹并选择一个文件

目标文件夹与Eclipse中资源管理器中的文件不同步

命令行提示从文件资源管理器快速访问中取消文件夹的固定

Git存储库文件夹未出现在文件资源管理器中