2016-08-16 47 views
1

私は、MySQLテーブルから関連データを抽出し、これらのデータをXlsxwriterを使用してExcelに入力することによって、多くのExcelファイルを作成できます。作成されたExcelファイルの数は、データが生成される時点で100を超える場合があります。ファイルを電子メールで送信するには、各ExcelファイルをPDFに変換する必要があります。xlsxwriterを使用してExcelファイルを作成し、ExcelファイルをPDFに保存

各Excelファイルを手動で変換するのに数分かかりますが、何百ものファイルを処理することを想像してください。 com32やcomtypesの使用を避け、XlsxwriterやVBAを使って変換を完了させたい。私はXlsxwriterのためにいくつかのコードを書いていますが、どういうわけか、これはうまくいきませんでした。誰か助言してもらえますか?ありがとう。

VBA_worksheet=current_workbook.add_worksheet() 
current_workbook.add_vba_project('printPDF') 
VBA_worksheet.write_formula('A1', 'ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF') 
VBA_worksheet.activate() 
VBA_worksheet.hide() 

答えて

0

あなたが指定したコードは、XlsxWriterからVBAマクロを実行しようとしているようです。そうなら、それは動作しません。

VBAマクロと関数をXlsxWriterファイルに追加することはできますが、Excelのみがそれらを実行できます。

xlsxファイルをPDFに変換するには、Excelを自動化するか、おそらくそれを実行できるサードパーティ製のアプリケーションを見つける必要があります。

+0

ありがとうJMC、私はWin32comとComTypesを使ってみました。どういうわけか、私はモジュールを動作させることができませんでしたが、私はなぜそれがわかりません。現在、私はWindows上でPythonを実行していますが、後でOSをDebian Jessieに移す必要があり、Win32comとComtypesは動作しないと言われました。だから、私はいくつかのアドバイスが必要です。ありがとう。 – Keith

+0

その場合、Linux上でxlsxファイルをPDFに変換するツールを探す必要があります。私はそのようなツールは認識していませんが、それは1つではないという意味ではありません。 – jmcnamara

関連する問題