これは私のコードです。私はxlxsをコメントで保存しようとすると失敗しました。どのようにして再度保存するかを知ることができます。openpyxlを使用してxlxsファイルをコメントで2回保存できません
from openpyxl import load_workbook
import datetime
filename = u"large_table.xlsx"
model = load_workbook(filename)
model.properties.lastPrinted = datetime.datetime.now()
model.save(filename)
model.properties.lastPrinted = datetime.datetime.now()
model.save(filename)
トレースバック:self.workbook.vba_archive
が予期せずNoneに設定されているようです。
Traceback (most recent call last):
File "D:/h32workspace/trunk/event_editor/eric6/model/test_file.py", line 31, in <module>
model.save(filename)
File "C:\Python27\lib\site-packages\openpyxl\workbook\workbook.py", line 342, in save
save_workbook(self, filename)
File "C:\Python27\lib\site-packages\openpyxl\writer\excel.py", line 269, in save_workbook
writer.save(filename)
File "C:\Python27\lib\site-packages\openpyxl\writer\excel.py", line 251, in save
self.write_data()
File "C:\Python27\lib\site-packages\openpyxl\writer\excel.py", line 81, in write_data
self._write_worksheets()
File "C:\Python27\lib\site-packages\openpyxl\writer\excel.py", line 214, in _write_worksheets
self._write_comment(ws)
File "C:\Python27\lib\site-packages\openpyxl\writer\excel.py", line 184, in _write_comment
vml = fromstring(self.workbook.vba_archive.read(ws.legacy_drawing))
AttributeError: 'NoneType' object has no attribute 'read'
私はワークブックをロードするためにkeep_vba=True
を使用しようとしましたが、正しくファイルを保存するために失敗した場合。保存したファイルを開くことはできません。
XlsxWriterを試してみてください:https://pypi.python.org/pypi/XlsxWriter –
トレースバックからは、コードが間違っていることが明らかです。あなたはXLSMファイルを扱っていますが、これらは完全にマクロ関連のものはすべてブラックボックスであるためです。 –
@CharlieClark私は、コメントでExcelが2回保存に失敗することがわかった – Sam