VBA msoFileDialogOpen将filename声明为Path

时间:2015-07-06 12:32:15

标签: vba excel-vba ms-office excel-2010 excel

我正在尝试使用msoFileDialogOpen来检索用户选择的相应文件名。到目前为止,这是我笨拙的代码:

mdl = ClassificationKNN.fit(X,y,'NumNeighbors', 4);

当我运行此程序时,我收到错误消息:

  

编译错误:

     

无效使用财产

我认为使用属性.SelectedItems是正确的做法,但我不知道如何获取该文件名并将其存储为变体。

编辑:修改后的代码(这样做我想要它做什么?)

Public Sub Function3_FileExplorer()
'   Start File Explorer to select file containing data (simple GUI, much easier than coding vFileName)
With Application.FileDialog(msoFileDialogOpen)
    .AllowMultiSelect = False
    If .Show Then
        Dim file As Variant
        For Each file In .SelectedItems
            .SelectedItems Path
    End If
End With
ErrorHandler:
MsgBox "Error detected" & vbNewLine & "Error" & Err.Number & Err.Line
    Err.Description , vbCritical, "Error Handler: Error " & Err.Number

End Sub

1 个答案:

答案 0 :(得分:1)

这基本上是你想要的(目前还不清楚你真正想用文件名做什么):

Public Sub Function3_FileExplorer()
    Dim file          As Variant
'   Start File Explorer to select file containing data (simple GUI, much easier than coding vFileName)
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = False
        If .Show Then
            file = .SelectedItems(1)
        End If
    End With
    MsgBox file

    Exit Sub
ErrorHandler:
    MsgBox "Error detected" & vbNewLine & "Error" & Err.Number & _
           Err.Description, vbCritical, "Error Handler: Error " & Err.Number

End Sub