Applescript:打开Excel文件并以不同的格式保存(相同的名称和path)

我有一个.xls文件的文件夹,其中一些是真正的excel文件,一些是excel xml文件(但仍然带有.xls扩展名)。 要在一个单独的程序中处理文件,我试图将它们全部转换为一致的格式(Excel 98-2004),并希望在保留原始文件名和目录结构的同时使用applescript来执行此操作。

到目前为止,我有一个工作循环和文件列表,并完成除了保存function以外的所有内容:

set file_Name to "/Users/me/path/to/data.xls" tell application "Microsoft Excel" activate open file_Name save workbook as workbook (active workbook) filename file_Name file format (Excel98to2004 file format) with overwrite close workbooks quit end tell 

当我运行这个代码时,我得到以下回复:

 tell application "Microsoft Excel" activate open "/Users/drewmcdonald/Desktop/Madhupur_10February2014.xls" get active workbook --> active workbook save workbook as workbook (active workbook) filename "/Users/drewmcdonald/Desktop/test.xlsx" --> missing value close every workbook quit end tell 

电子表格成功地打开和closures,但文件格式不会改变,我不知道该怎么做的“缺失值”的错误。 任何想法如何得到这个工作? 谢谢!

编辑:只是注意到,文件格式参数从回复文本中丢失,所以我猜问题是在那里。

得到它了。

我需要set一个工作簿名称variables来get full name of active workbook然后再尝试保存它。 这是因为Excel打开工作表时指定的工作簿名称有点不一致。 最终的代码如下所示:

 set file_Name to "/Users/me/path/to/data.xls" tell application "Microsoft Excel" activate open file_Name set wkbk_name to get full name of active workbook save workbook as workbook wkbk_name filename file_Name file format Excel98to2004 file format with overwrite close workbooks quit end tell