当用户想要将报告存放在特定文件夹中时,我使用 msoFileDialogFolderPicker 返回路径。
如果默认保存位置已经有输出文件或用户不希望保存到默认位置,则自定义表单 (ufSelRepType) 会显示在宏中。自定义表单指定了一些常用的报告保存位置,并提供了选择备用位置的选项。单击按钮 cmdCustom 会执行以下操作:
Private Sub cmdCustom_Click()
Application.FileDialog(msoFileDialogFolderPicker).Show
Me.Tag = CurDir
Me.Hide
End Sub
宏中处理表单输出的代码很简单:
strSavePath = ufSelRepType.Tag
选择文件夹时,返回的字符串始终不带尾随的“\”。但是,如果选择了驱动器根目录(我们使用映射到文件服务器的驱动器,因此尽管这种情况可能很少见,但并非不可想象),则返回的字符串将以“\”结尾。
我该如何检查尾随的“\”并处理它?
更新:根据以下解决方案,这是表单控件 cmdCustom 的新代码:
Private Sub cmdCustom_Click()
Dim strFolderPath As String
'Getting save folder
Application.FileDialog(msoFileDialogFolderPicker).Show
strFolderPath = CurDir
'Checking that path ends in \
If Right(strFolderPath, 1) = "\" Then
GoTo Complete
Else:
strFolderPath = strFolderPath & "\"
GoTo Complete
End If
Exit Sub
Complete:
Me.Tag = strFolderPath
Me.Hide
Exit Sub
End Sub
答案1
假设这strSavePath
只是一个字符串,那么您可以检查是否"\"
是最右边的字符:
If Right(strSavePath, 1) = "\" Then
doSomething()
Else
doSomethingElse()
End If