0

我正在运行一个创建工作簿的脚本,将一些数据写入其中然后保存。

在我的脚本结束时,我有:

workbook.SaveAs('tempfile.xlsx')

但发生的事情是它一直保存到一些不起眼的目录,今天早些时候我从一个共享点站点下载了一个 excel 文件。所以我尝试了:

import os
os.chdir('C:/mydir')

然后我运行脚本,它仍然保存到不起眼的目录中。我在 IDLE 提示符中输入 os.getcwd() 并返回“C:/mydir”。

无法弄清楚如何正确获得此节省。当我尝试:

workbook.SaveAs('C:/mydir/tempfile.xlsx')

我收到一个错误:

pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'Microsoft Office         Excel', "Microsoft Office Excel cannot access the file   'C:\\weird dir\\//mydir/FC424E40'. There are several possible reasons:\n\n• The file name or path does not exist.\n• The file is being used by another program.\n• The workbook you are trying to save has the same name as a currently open workbook.", 'C:\\Program Files (x86)\\Microsoft Office\\Office12\\1033\\XLMAIN11.CHM', 0, -2146827284), None)

我知道这可能是一个简单的修复,但我无法弄清楚。有任何想法吗?

4

1 回答 1

1

如果您使用的是 pywintypes(或 pywin32),则您必须了解 Excel 如何理解您在其 COM API 上调用的命令。这绝不会链接到 python 执行的当前目录。如果没有当前目录,Excel 将选择一个(使用它自己的“最小意外规则”......),这似乎是您打开 Excel 文件的最后一个目录。正如罗德里戈建议的那样,您最好使用完整路径来告诉 Excel 在哪里保存。

于 2013-11-14T23:31:44.237 回答