我在用编写器使用 Python 脚本创建 Excel 文件。
当我重新运行脚本以使用新信息更新文件时(我需要经常这样做),我必须手动关闭 Excel 文件并重新打开它才能查看新版本的电子表格。
有没有办法自动执行这个过程:使用终端命令关闭 excel 文件(而不是应用程序),然后重新打开它。
我知道如何打开它,但不知道如何关闭文件。
答案1
看着Stack Overflow 上的一篇文章,答案是 Workbook COM 中包含一个 Close() 方法。来自上述帖子的代码片段:
xl = Dispatch('Excel.Application')
wb = xl.Workbooks.Open('New Workbook.xlsx')
# do some stuff
wb.Close(True) # save the workbook
以下是必要的语法规则来自微软网站:
expression .Close(SaveChanges, Filename, RouteWorkbook)
expression A variable that represents a Workbook object.
对于 OSX,显然你需要使用应用脚本
经过一番观察,我对 appscript 并不太熟悉,你应该能够通过执行以下操作来完成你正在寻找的操作:
tell application "Microsoft Excel"
close workbook 1 saving no
end tell
最后,这里是 Python 的 appscript 包的文档:
答案2
在 Python (3.6) 中这对我来说有效
import os
os.system(f'''/usr/bin/osascript -e 'tell app "Microsoft Excel" to close (every window whose name is "title-of-window")' ''')