我有一个打开电子邮件的脚本,然后我想将其另存为PDF。该脚本有效但我无法弄清楚如何将路径和文件夹名称传递给调用Save as a PDF
后产生的对话框。到目前为止,这是我的剧本。
global FlName
tell application "Mail"
set theMsg to selection
open selection
set Dialogresult to the button returned of (display dialog "Process this email and Print as PDF" buttons {"Yes", "No"} default button "Yes")
if Dialogresult is "Yes" then
repeat with selectMsg in theMsg
tell selectMsg
--set background color to red --Show message processed
set FlName to subject
set check to count every word of FlName
--display dialog check
set FlName to (my FixFileName(FlName)) --strip bad characters
end tell
end repeat
set process_name to "Mail"
activate application process_name
tell application "System Events"
tell process process_name
--display dialog "proposed File Name" & return & FlName
keystroke "p" using command down
delay 2
set PDFref to sheet 1 of window 1
click menu button "PDF" of PDFref
click menu item "Save as PDF…" of menu 1 of menu button "PDF" of PDFref
tell application "Mail"
display dialog "Proposed Name " & my FlName default answer FlName & "change in the Box if Not OK"
set FlName to text returned of result
end tell
keystroke FlName
end tell
end tell
else
set Dialogresult to the button returned of (display dialog "Close this eMail" buttons {"Yes", "no"} default button "No")
if Dialogresult is "Yes" then
close window 1
end if
end if
end tell
on FixFileName(str) --Deletes characters that cannot be used in file names
set fixed_string to {}
set bad_char to {":", "/"}
repeat with c from 1 to (count every character in str)
if bad_char contains (character c of str) then
set end of fixed_string to "-"
else
set end of fixed_string to (character c of str)
end if
end repeat
fixed_string as string
end FixFileName
彼得
答案 0 :(得分:1)
要考虑的另一个可能性是编写单独的PDF Applescript并通过“编辑菜单”将其添加到PDF下拉菜单中。 (不确定您需要申请哪个应用程序...请查看此链接以获取潜在客户:http://hints.macworld.com/article.php?story=2004122222145585)以下是Mac帮助的摘录:
您可以添加自己的项目,例如应用程序和AppleScript 脚本,到PDF弹出菜单。例如,您可以添加 将Quartz过滤器应用于PDF文件的AppleScript脚本,或者您 可以添加一个立即打开PDF文件的应用程序 创建
如果您在Automator中创建了一个Print workflow插件,那么该插件就是 自动添加。有关更多信息,请打开Automator,选择“帮助”
Automator帮助,并搜索“打印工作流程插件”。
要将项目添加到PDF弹出菜单:
选择文件>打印。
从PDF弹出菜单中选择“编辑菜单”。
单击添加(+)按钮,然后选择要添加的项目。
例如,如果要在Adobe中打开新创建的PDF文件 Acrobat,选择Adobe Acrobat。如果您已创建AppleScript脚本 将Quartz过滤器应用于文档,选择该脚本。
项目的别名保存在您的PDF Services文件夹中 库文件夹。
答案 1 :(得分:0)
如果您无法在生成PDF时设置PDF的名称,但知道PDF的保存位置以及保存的位置,请使用AppleScript重命名并将文件移动到您想要的位置。选择位置和名称可能有些麻烦,使用display dialog
让用户选择名称,使用choose folder
允许他们选择位置。
答案 2 :(得分:0)
按照@ Chuck的回答,是的,这是一种kludgy,但有choose file name
命令,它允许用户选择名称以及位置......
set the FlName to (choose file name with prompt "Choose a name and location for the new PDF document:" default name "untitled.pdf")
但是,这实际上并不创建文件。以下命令可以。
open for access FlName
close access FlName