Excel VBA 打开消息标题
Excel VBA Open Msg Title
我试图提示用户打开文件,但标题显示的不是打开。我知道存在 MsgBox 和提示打开的功能(我不熟悉)。我想知道是否存在 MsgBox 和该函数的某种组合,这样我就可以插入自己的指令,而不是打开提示上的打开标题。然后将从该函数收集的文件收集起来供以后使用。
我试图避免为打开提示插入 MsgBox 和另一个函数。如果可能的话,我们将不胜感激,如果不能,还是谢谢你。
根据 John 的评论,我相信您正在寻找 FileDialog。
下面的示例将显示一个 FileDialog 和 return 所选文件的路径。如果取消对话框,return 值将是 vbNullString
。
您可以将默认路径作为参数传递给函数以及过滤器的文件扩展名。
Public Function OpenFileDialogToString() As String
On Error GoTo Trap
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Title = "Dialog Title"
.InitialFileName = "Dialog start-up path"
.Filters.Clear
.Filters.Add "Text Documents (*.txt)", "*.txt", 1
.ButtonName = " Open "
.AllowMultiSelect = False
End With
If fd.Show <> 0 Then OpenFileDialogToString = fd.SelectedItems(1)
Leave:
Set fd = Nothing
On Error GoTo 0
Exit Function
Trap:
MsgBox Err.Description, vbCritical
Resume Leave
End Function
调用它:
Dim path As String
path = OpenFileDialogToString()
If path <> vbNullString Then Debug.Print path
我试图提示用户打开文件,但标题显示的不是打开。我知道存在 MsgBox 和提示打开的功能(我不熟悉)。我想知道是否存在 MsgBox 和该函数的某种组合,这样我就可以插入自己的指令,而不是打开提示上的打开标题。然后将从该函数收集的文件收集起来供以后使用。
我试图避免为打开提示插入 MsgBox 和另一个函数。如果可能的话,我们将不胜感激,如果不能,还是谢谢你。
根据 John 的评论,我相信您正在寻找 FileDialog。
下面的示例将显示一个 FileDialog 和 return 所选文件的路径。如果取消对话框,return 值将是 vbNullString
。
您可以将默认路径作为参数传递给函数以及过滤器的文件扩展名。
Public Function OpenFileDialogToString() As String
On Error GoTo Trap
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Title = "Dialog Title"
.InitialFileName = "Dialog start-up path"
.Filters.Clear
.Filters.Add "Text Documents (*.txt)", "*.txt", 1
.ButtonName = " Open "
.AllowMultiSelect = False
End With
If fd.Show <> 0 Then OpenFileDialogToString = fd.SelectedItems(1)
Leave:
Set fd = Nothing
On Error GoTo 0
Exit Function
Trap:
MsgBox Err.Description, vbCritical
Resume Leave
End Function
调用它:
Dim path As String
path = OpenFileDialogToString()
If path <> vbNullString Then Debug.Print path