Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA EXCEL提示用户响应选择文件夹并将路径作为字符串变量返回_Vba_Excel - Fatal编程技术网

VBA EXCEL提示用户响应选择文件夹并将路径作为字符串变量返回

VBA EXCEL提示用户响应选择文件夹并将路径作为字符串变量返回,vba,excel,Vba,Excel,我正在尝试编写一个VBA代码,其中会出现一个对话框,供用户选择保存文件的位置。 但是,我只需要将路径值(例如,c:\Desktop\Values)作为字符串变量返回,以便在其他函数中使用它。 任何帮助都将不胜感激。请考虑: Function GetFolder() As String Dim fldr As FileDialog Dim sItem As String Set fldr = Application.FileDialog(msoFileDialogFolde

我正在尝试编写一个VBA代码,其中会出现一个对话框,供用户选择保存文件的位置。 但是,我只需要将路径值(例如,
c:\Desktop\Values
)作为字符串变量返回,以便在其他函数中使用它。 任何帮助都将不胜感激。

请考虑:

Function GetFolder() As String
    Dim fldr As FileDialog
    Dim sItem As String
    Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
    With fldr
        .Title = "Select a Folder"
        .AllowMultiSelect = False
        .InitialFileName = Application.DefaultFilePath
        If .Show <> -1 Then GoTo NextCode
        sItem = .SelectedItems(1)
    End With
NextCode:
    GetFolder = sItem
    Set fldr = Nothing
End Function
函数GetFolder()作为字符串 Dim fldr As FILE对话框 以字符串形式显示 设置fldr=Application.FileDialog(msoFileDialogFolderPicker) 与fldr .Title=“选择一个文件夹” .AllowMultiSelect=False .InitialFileName=Application.DefaultFilePath 如果.Show-1,则转到下一个代码 sItem=.SelectedItems(1) 以 下一个代码: GetFolder=sItem 设置fldr=无 端函数
正如jkf所指出的,从

中,我想要完整的路径名。这不只是返回文件夹名称吗?不,你可以在我在上面给出的链接中发布的答案中获得完整路径(参见Gary的答案),如果你在
Ret=BrowseForFolder(“C:\”)
之后添加
Msgbox Ret
,那么如果用户没有按
Cancel