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