Трудность создания файла XLSM - PullRequest
2 голосов
/ 05 июля 2019

Я пытаюсь создать xlsm файл, используя xlwings.Или openpyxl, если невозможно с xlwings.

Я на Mac, поэтому я не могу использовать PyWin32.

Я использую следующий код Python:

import xlwings as xw

b = xw.Book()
b.save('test_book2.xlsm')

Когда я запускаю этот код, я получаю сообщение: enter image description here

Когда я нажимаю «да» для этого сообщения, я получаю следующую ошибку:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/aeosa/appscript/reference.py", line 482, in __call__
    return self.AS_appdata.target().event(self._code, params, atts, codecs=self.AS_appdata).send(timeout, sendflags)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/aeosa/aem/aemsend.py", line 92, in send
    raise EventError(errornum, errormsg, eventresult)
aem.aemsend.EventError: Command failed: Parameter error. (-50)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/matthewbell/Desktop/test.py", line 4, in <module>
    b.save('test_book2.xlsm')
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/xlwings/main.py", line 704, in save
    return self.impl.save(path)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/xlwings/_xlmac.py", line 244, in save
    self.xl.save_workbook_as(filename=hfs_path, overwrite=True)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/aeosa/appscript/reference.py", line 518, in __call__
    raise CommandError(self, (args, kargs), e, self.AS_appdata) from e
appscript.reference.CommandError: Command failed:
        OSERROR: -50
        MESSAGE: Parameter error.
        COMMAND: app(pid=6198).workbooks['Book1'].save_workbook_as(filename='Macintosh HD:Users:matthewbell:Desktop:test_book2.xlsm', overwrite=True)

Что я могу сделать, чтобы создать файл xlsm?

...