使用 python 记录未保存的 Excel 数据或使用 vba 自动保存
Posted
技术标签:
【中文标题】使用 python 记录未保存的 Excel 数据或使用 vba 自动保存【英文标题】:Recording unsaved Excel data with python or automsaving with vba 【发布时间】:2014-12-24 23:12:40 【问题描述】:使用python,我想连续记录一些Excel计算。我使用的 python/excel 函数只会从保存的电子表格中读取 excel 数据。有没有办法读取未保存的数据?
如果没有,有没有办法保存excel并定期读取保存的数据?我尝试定期保存我的工作表(使用宏),但如果我在保存期间与电子表格交互,这会出现问题。 excel 不保存我的电子表格,而是保存一个随机名称的副本。如果有办法解决这个问题(可能是某种 vba 错误处理),可能会解决问题。谢谢。
【问题讨论】:
【参考方案1】:假设您在 Windows 上使用 Excel 而不是 OS X,您可以尝试 win32com.client 模块,您可以通过安装 Python for Windows 包获得该模块:
http://sourceforge.net/projects/pywin32/
不幸的是,可用的文档充其量只是参差不齐...这是一个开始:
http://docs.activestate.com/activepython/3.3/pywin32/html/com/win32com/HTML/QuickStartClientCom.html
我应该警告您,COM API 不是很容易使用,所以如果您的工作流程需要 Excel,那么您最好还是坚持使用 VBA。
VBA 错误处理:http://www.cpearson.com/excel/errorhandling.htm
【讨论】:
以上是关于使用 python 记录未保存的 Excel 数据或使用 vba 自动保存的主要内容,如果未能解决你的问题,请参考以下文章
Excel 2007 VBA ActiveWorkbook SaveAs 未保存...运行时错误 1004