Как открыть книгу из 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