Dispatchを使用した後、問題を閉じることができません。python3とpywin32 closing excel
import openpyxl
import os
from win32com import client
class CTAutomation:
def __init__(self, file):
self.invoice = xl.load_workbook(os.getcwd() + "\Templates\ctrates.xlsx")
self.xlTemplate = xl.load_workbook(os.getcwd() + "\Templates\invoiceTemplate.xlsx")
self.vpc = xl.load_workbook(os.getcwd() + "\Templates\Vpc.xlsx")
self.file = file
def invoice_make(self):
self.xlApp = client.Dispatch("Excel.Application")
self.xlbook = self.xlApp.Workbooks.Open(os.getcwd() + '\TestFiles\\' + self.file)
self.ws = self.xlbook.Worksheets[0]
self.ws.Visible = 1
self.ws.ExportAsFixedFormat(0, os.getcwd() + "\complitedpdf\\" + self.file + ".pdf")
self.quit()
def quit(self):
self.xlbook.Close()
self.xlApp.Quit()
def xlformater(self):
return None
def main():
pwd = os.listdir(os.getcwd() + "\TestFiles")
for file in pwd:
CTAutomation(file.strip(".xlsx")).invoice_make()
if __name__ == "__main__":
main()
すべてがこの部分までよく動作します。私はフォーラムでこのトピックに関するいくつかの記事を見つけましたが、私はまだアプリケーションを閉じるために何かを見逃している感じ、 .xlsx and xls(Latest Versions) to pdf using python例では
いくつかのアドバイス大歓迎です。
私は試しましたが、動作していないようです... –
私は試行を見ないか、ここで何かオブジェクトを閉じることはできません。加えて、より大きなクラスのスニペットを提供します。適切でコンパイル可能な[再現可能な例](https://stackoverflow.com/help/mcve)がなければ助けが難しい。 – Parfait
フルクラスを追加 - これを実行すると無限ループになります –