Как открыть книгу из Excel 16 с VBA на MAC?

Я хочу открыть простую книгу из небольшого макроса с VBA Excel 16 на MAC 10.10, но не могу.

У меня есть мой макрос:

    Sub Test()
        Call Workbooks.Open("Classeur1.xlsm")
    End Sub

В Office 11 эта функция работает нормально, но у меня есть ошибка в Office 16:

Ошибка во время выполнения "1004":
Ошибка приложения или объекта

У вас есть идея, чтобы исправить это, пожалуйста?

3 ответа

Решение

Проблема в том, что Excel 2016 для Mac имеет странный каталог по умолчанию, в котором он работает. Мой запускается в /Users/xxxxx/Library/Containers/com.microsoft.Excel/Data, Поэтому вам нужен полный путь к вашей книге. Пример:-

Sub Test()
   Call Workbooks.Open("/Users/damien/Documents/Classeur1.xlsm")
End Sub

Просто примечание, вам не нужно использовать Call заявление. Вы могли бы просто сделать это:

Sub Test()
   Workbooks.Open "/Users/damien/Documents/Classeur1.xlsm"
End Sub
wbName = "FILENAME"
If CInt(Split(Application.Version, ".")(0)) >= 15 Then 'excel 2016 support
    wbName = Replace(wbName, ":", "/")
    wbName = Replace(wbName, "Macintosh HD", "", Count:=1)
End If

Проверьте версию Excel и затем замените символы соответственно. Я не уверен почему, но мой Excel 2016 на macOS имеет версию 15.xx

У меня был макрос с использованием Workbooks.Open, который работал в Excel 2011 и не работает в 2016 году. Я запустил его, изменив формат пути к файлу. Теперь разделители пути - это не двоеточие, а косая черта.

Это работает в Excel 2011:

path:..:file

Это работает в Excel 2016:

path/../file
Другие вопросы по тегам