仅在Mac上出现FileDialog Run-time 91错误

时间:2018-07-19 07:30:09

标签: excel vba macos excel-vba

此代码使用户可以选择多个文件打开。最后一行在我的PC上可以正常运行,但是我的远程用户告诉我在Mac上它给出了一个错误Run-Time error 91: Object variable or block variable not set

Sub OpenSeveralFiles()
Dim fd As FileDialog
Dim FileChosen As Integer
Dim fileName As String
Dim i As Integer

Set fd = Application.FileDialog(msoFileDialogFilePicker)

fd.InitialView = msoFileDialogViewList

这很奇怪,因为我希望该错误会在Set行处出现。

是否与我未指定目录路径有关?在Windows VBA中,它默认为CurDir,但我不知道在Mac上会发生什么。

1 个答案:

答案 0 :(得分:0)

如果@Rory是正确的,但是我不能在Mac上使用FileDialog,我找到了一种解决方法。我警告我的用户,如果他使用的是Mac,则必须在运行宏之前打开要处理的文件:

On Error resume next
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
On Error goto 0

If fd is not Nothing
    'select and process the files like I did before
Else
    ' Loop through all the OPEN files and process them
End If