将my applescript处理指定的文件放在当前目录中?

时间:2012-04-22 19:33:22

标签: pdf ms-word applescript

我需要定期从word文件生成PDF,而且我已经厌倦了手工制作。

手动,我所做的就是打开一个文件,然后点击“另存为PDF”。所以,人们会认为Applecript是一个很好的简单方法。 [如果你有另一种方法而不是苹果,我会接受它。]

我差不多了,以下脚本可以正常工作,但完整路径是硬编码的。

    tell application "Microsoft Word"
    open file "Macintosh HD:Users:me:repos:training:class:Activities:ActivityGuide.docx"
    set doc to document "ActivityGuide.docx"
    save as doc file name "Macintosh HD:Users:me:repos:training:class:Activities:ActivityGuide.pdf" file format format PDF
end tell

我需要它在其他机器上为其他人工作,因此用户名和路径的其他部分可能会发生变化。如果我可以从脚本的当前目录中执行此操作,我将被设置。

我发现了这个:Applescript to launch file from current folder?

tell application "Finder"
    open file "somefile.txt" of folder of (file (path to me))
end tell

哪个适用于通过Finder从Word中的当前目录打开应用程序,但我想我需要使用“Microsoft Word”应用程序打开它,如果我打算使用“另存为”。但是,如果我将“Finder”的应用程序更改为“Microsoft Word”,则这种打开方法不起作用。

欢迎任何建议。 [编辑:清晰度]

2 个答案:

答案 0 :(得分:1)

试试这个

set x to path to me
tell application "Finder" to set tFile to (file "ActivityGuide.docx" of (container of x)) as alias

set newFile to (text 1 thru -5 of (tFile as string)) & "pdf"
tell application "Microsoft Word"
    open tFile
    tell document 1
        save as file name newFile file format format PDF
        close saving no
    end tell
end tell

答案 1 :(得分:0)

另一件可能对您有帮助的事情是在系统偏好设置下:键盘:快捷方式:应用程序快捷方式:所有应用程序

创建一个名为“另存为PDF ...”的快捷方式,将快捷方式指定为命令+ P,因为大多数应用程序是打印的快捷方式,然后只需按两次它就会提示您将其另存为PDF (我得到了David Sparks的提示),根据应用程序,它将默认为文件打开的位置。您也可以使用应用程序默认文件夹X设置它。

希望这对于其他问题来说更像是一个全局解决方案,但看起来你已经找到了解决这个孤立问题的答案。