使用win32com时保存并关闭word文档

2024-05-16 03:10:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望确保保存word文档并在之后立即关闭它,以便在python中的下一个命令中对其进行进一步编辑

from win32com import client
excel = client.Dispatch("Excel.Application")
word = client.Dispatch("Word.Application")
doc = word.Documents.Open(r"C:\Users\crist\word_automation\Summary_template\Summary_output.docx")
book = excel.Workbooks.Open(r"C:\Users\crist\word_automation\Summary_template\summary3.xlsx")
sheet = book.Worksheets(1)
sheet.Range("A1:G5").Copy()    
wdRange = doc.Content
wdRange.Collapse(0)
wdRange.PasteExcelTable(False, False, False) 
book.SaveAs(r"C:\Users\crist\word_automation\Summary_template\summary3.xlsx")
book.Close()
excel.Quit()

doc.SaveAs(r"C:\Users\crist\word_automation\Summary_template\Summary_output.docx")

我认为最后一行是不对的。 保存和关闭word文档的正确方法是什么?多谢各位


Tags: 文档clientfalsedocapplicationtemplatesummaryexcel
1条回答
网友
1楼 · 发布于 2024-05-16 03:10:12

保存文档后,应将其关闭,这与使用Excel工作簿所做的操作非常相似,因此您的代码应为:

from win32com import client
excel = client.Dispatch("Excel.Application")
word = client.Dispatch("Word.Application")
doc = word.Documents.Open(r"C:\Users\crist\word_automation\Summary_template\Summary_output.docx")
book = excel.Workbooks.Open(r"C:\Users\crist\word_automation\Summary_template\summary3.xlsx")
sheet = book.Worksheets(1)
sheet.Range("A1:G5").Copy()    
wdRange = doc.Content
wdRange.Collapse(0)
wdRange.PasteExcelTable(False, False, False) 
book.SaveAs(r"C:\Users\crist\word_automation\Summary_template\summary3.xlsx")
book.Close()
excel.Quit()
doc.SaveAs(r"C:\Users\crist\word_automation\Summary_template\Summary_output.docx")
doc.Close()
word.Quit()

相关问题 更多 >