xlwings 'RunPython не работает на MAC

    MAC 10.12.5  
    Excel 2011 for MAC 
    xlwings.__version__ '0.11.2'
xlwings.__path__
['/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/xlwings']

Попытка сделать RunPython из excel всегда терпит неудачу:

Compile Error
Connot find file or library

Пытаясь сузить круг, запустив код VBA, найденный в функции GetConfigFilePath() As String), в частности:

> mymodule = Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1))

неизменно дает мне:

Compile Error
Connot find file or library

я вижу, что

~/Library/Containers/com.microsoft.Excel/Data/xlwings.conf

не удалось найти, но я понятия не имею, как его туда достать, подскажите, пожалуйста?


person Cy Bu    schedule 14.07.2017    source источник


Ответы (1)


ОБНОВЛЕНИЕ: версия 0.11.4 снова поддерживает Mac Excel 2011, см.: http://docs.xlwings.org/en/stable/whatsnew.html#v0-11-4-jul-23-2017

Убедитесь, что он ссылается на правильную надстройку xlwings: в редакторе VBA перейдите к Tools > References и выберите xlwings. Отмените выбор тех, которые начинаются с MISSSING.... При этом убедитесь, что выбран правильный проект.

оригинальный ответ:

Поддержка Mac Excel 2011 не совсем соответствует новой надстройке. Проблема в том, что Excel 2011 не отображает ленту, поэтому файл конфигурации не будет создан автоматически. Мы будем работать над улучшением взаимодействия с пользователем, но пока вы можете обойти это следующим образом:

  • Создайте пустой xlwings.conf по следующему пути (вам нужно будет создать его, если у вас не установлен Excel 2016) ~/Library/Containers/com.microsoft.Excel/Data

  • Отредактируйте его, следуя инструкциям, если вы хотите установить глобальные настройки, которые отличаются от значений по умолчанию: http://docs.xlwings.org/en/stable/addin.html#config-file

  • Либо пропустите 2 шага выше и включите лист xlwings.conf, автоматически созданный xlwings quickstart <projectname>, см.: http://docs.xlwings.org/en/stable/addin.html#workbook-settings (необходимо использовать надстройку из >= 0.11.3, так как в более ранние версии.

person Felix Zumstein    schedule 15.07.2017
comment
Спасибо Это некоторый прогресс. Однако в примере кода, предоставленном с помощью xlwings для быстрого запуска: › - mymodule = Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ., -1, vbTextCompare) - 1)) происходит сбой... VBA не знает Left. Я удалил эту строку. › - RunPython (import test7;test7.hello_xlwings()) завершается с ошибкой с сообщением: Ошибка компиляции: не удается найти проект или библиотеку. Это может быть связано с тем, что в терминале: установка xlwings runpython дает мне: Успешно установлен RunPython для Mac Excel 2016! (не повезло, я на Excel 2011!). Любая идея, как установить для 2011? - person Cy Bu; 16.07.2017
comment
xlwings runpython install нужен только для Mac Excel 2016, он не действует на 2011. - person Felix Zumstein; 16.07.2017
comment
Вам нужно дождаться 0.11.4, в Excel 2011 еще не хватало нескольких вещей. Я обновлю свой ответ после выпуска. - person Felix Zumstein; 17.07.2017
comment
Спасибо, Феликс. Несколько замечаний: ›1. xlwings quickstart project1: ››1a. mymodule = Left(...) Выводит сообщение от excel: Ошибка компиляции: не удается найти проект или библиотеку. ››1б. То же самое с прямой ссылкой: RunPython не работает, то же сообщение. ›2. xlwings quickstart project2 --standalone: ​​отлично работает во всех случаях (прямая и непрямая ссылка) ›3. Наконец, в xlwings.conf вы можете изменить pythonw интерпретатора на /usr/local/bin/python3. Я надеюсь, что это поможет другим пользователям использовать этот интересный модуль с пользой. - person Cy Bu; 24.07.2017
comment
@CyBu вам нужно будет убедиться, что в нем есть ссылка на вашу надстройку xlwings: в редакторе VBA перейдите к Tools > References, затем выберите xlwings и отмените выбор всего, что помечено MISSING... - person Felix Zumstein; 28.07.2017