【问题标题】:VBA Print .SelectedItem with MsgBoxVBA 打印 .SelectedItem 与 MsgBox
【发布时间】:2015-06-19 13:25:53
【问题描述】:

我正在尝试使用简单的 MsgBox 打印选定的文件名以进行调试。 msoFileDialogOpen 允许用户选择文件。我正在尝试打印所选文件的文件名。

'   Start File Explorer to select file containing data
Dim lngCount As Long
' Open the file dialog
With Application.FileDialog(msoFileDialogOpen)
    .AllowMultiSelect = True
    .Show

'   Display paths of each file selected
    For lngCount = 1 To .SelectedItems.Count
        MsgBox .SelectedItems
    Next lngCount
End With

当我运行它时,我收到错误消息“运行时错误'450':参数数量错误或属性分配无效”。

【问题讨论】:

    标签: vba excel excel-2010


    【解决方案1】:

    看起来您的消息框正试图显示整个集合 (.SelectedItems),而不是一次显示一个 (.SelectedItems(lngCount))。放这个有用吗?

    For lngCount = 1 To .SelectedItems.Count
        MsgBox .SelectedItems(lngCount)
    Next lngCount
    

    或者更简单,这也可能有效:

    For Each filename In .SelectedItems
        MsgBox filename
    Next
    

    【讨论】:

      【解决方案2】:

      .SelectedItems 不能直接显示(因为它不能被强制转换为文本字符串)所以MsgBox .SelectedItems 无效。

      要显示特定的选定项,请使用MsgBox .SelectedItems(lngCount)

      【讨论】:

        【解决方案3】:

        您试图显示Collection (selecteditemS),而MsgBox 只接受String

        只需切换到下面的行:

        MsgBox .SelectedItems(lngCount)
        

        【讨论】:

          猜你喜欢
          • 2020-02-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-26
          • 2021-06-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多