MS Access FileDialog 结果在根文件夹中

MS Access FileDialog results in root folder

我正在使用 FileDialog select 一个与 OutputTo 一起使用的文件夹。我已经对文件名进行了编码。当我 select 一个文件夹时,我得到一个格式正确的字符串,即:“C:\Documents\export.xls”。但是,当我 select 根文件夹时,我得到一个不正确的格式,即:“C:\\export.xls”。注意双斜杠。

对导致此行为的原因有任何想法吗?

Function selectFolder()
Dim fdf As FileDialog, FolderName As String


On Error GoTo ErrorHandler
 

Set fdf = Application.FileDialog(msoFileDialogFolderPicker)

fdf.InitialFileName = getdbpath
 
fdf.AllowMultiSelect = False
 
If fdf.Show = True Then
    If fdf.SelectedItems(1) <> vbNullString Then
        FolderName = fdf.SelectedItems(1)
    End If
Else
    'Exit code if no file is selected
    End
End If
 
'Return Selected FileName

selectFolder = FolderName & "\AccountOutput.xls"
'Debug.Print FolderName

Set fdf = Nothing

Exit Function

ErrorHandler:
Set fdf = Nothing
MsgBox "Error " & Err & ": " & Error(Err)
 
End Function

这就是文件夹选择器的工作方式 - 您需要处理这两种情况,例如

If Right$(FolderName, 1) <> "\" Then
    FolderName = FolderName & "\"
End If

selectFolder = FolderName & "AccountOutput.xls"

参见示例

https://superuser.com/questions/270418/check-for-trailing-in-string-returned-from-msofiledialogfolderpicker-excel-vb