2012-11-22 33 views
0

我正在尝试编写一个Applescript程序来创建电子表格,向其添加数据并将电子表格保存在特定文件夹中。我有创建,填写和保存电子表格的代码,但我无法指定要保存新文件的文件夹。我如何创建一个新的Excel 2011电子表格并使用Applescript将其保存到特定的目录/文件名

该文件保存在我保存电子表格的最后一个文件夹中。如果我包含要保存的文件夹的完整路径(“/ Users/david/Documents/test/foo.xls”),Excel 2011将创建一个名为“:Users:david:Documents:test:foo.xls”的文件“在我之前手动保存电子表格的文件夹中。因此,例如,如果手动打开Excel并创建电子表格并将其保存在名为的文件夹Documents的子文件夹中,并且现在运行以下脚本,则将在important文件夹中创建文件,而不是在test文件夹中创建该文件。

tell application "Microsoft Excel" 
    set wb to make new workbook 
    tell active sheet 
     -- Lots of code to fill in the data 
    end tell 
    set fn to "/Users/david/Documents/test/foo.xls" 
    save workbook as wb filename fn file format Excel98to2004 file format overwrite yes 
    close active workbook saving no 
end tell 

从我读过的各种文章看来,应该能够指定完整路径,但这些问题通常与以前版本的Excel有关。另外,如果这有所作为,我正在运行Mountain Lion。

回答

1

路径类型必须是HFS而不是posix路径

使用此:

set fn to (posix file "/Users/david/Documents/test/foo.xls") as string

或者:

set fn to "diskName:Users:david:Documents:test:foo.xls"

+0

我刚发现你的第一个建议的变化,使用 “Unicode文本”,而不是 “串”。它对我来说没有什么不同,因为我只在我的目录名中使用ASCII字符,但为了将来的引用,字符串处理非ASCII字符? –

+0

** AppleScript **完全基于“Mac OS X 10.5”的Unicode。 (文本,字符串和Unicode文本)之间不再有区别。 除了'read'和'write'命令外,'as text'或'as string' =主编码,'as Unicode text' = UTF-16 – jackjr300

+0

谢谢!我的目标是用各种语言翻译的Excel电子表格。能够使流程完全自动化,使更新更容易。 –

相关问题