【问题标题】:Excel VBA Open Msg TitleExcel VBA 打开消息标题
【发布时间】:2018-05-08 19:42:58
【问题描述】:

我正在尝试提示用户打开文件,但标题显示的内容不是“打开”。我知道存在 MsgBox 和一个提示打开的功能(我不熟悉)。我想知道是否存在 MsgBox 和该函数的某种组合,以便我可以插入自己的指令,而不是打开提示上的打开标题。从此函数收集的文件将被收集以供以后使用。

我试图避免为打开提示插入 MsgBox 和另一个函数。如果这是可能的,任何帮助表示赞赏,如果不是,无论如何谢谢你。

【问题讨论】:

  • 这不是很清楚。也许显示您的代码会有所帮助。无论如何,如果MsgBox 和内置文件选择器都不能让您满意,您可以制作自己的用户表单。有关如何使用文件选择器功能的信息,请参阅:msdn.microsoft.com/en-us/vba/excel-vba/articles/…

标签: excel vba function msgbox


【解决方案1】:

根据 John 的评论,我相信您正在寻找 FileDialog

下面的示例将显示一个 FileDialog 并返回所选文件的路径。如果对话框被取消,返回值为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

【讨论】:

  • 非常感谢!!我有一个问题如果我想使用文件名(对于 thisWorkbook.activate),我会使用 path.activate 吗?再次感谢您!
  • 对话框只是选择文件夹中的一个文件并将其路径作为字符串返回。如果要打开选定的文件,请使用Workbooks.Open(path)
  • 我看到它作为一个字符串传递,我只是想知道我在连接路径作为名称时是否正确。再次感谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-02
  • 1970-01-01
  • 2013-03-31
  • 1970-01-01
  • 2021-07-29
  • 2021-05-12
相关资源
最近更新 更多