AppleScript在应用程序保存窗口中不起作用



我有一个在Finder中完美工作的苹果。它创建一个名为"天日期"的文件夹,并具有连接到它的快捷键。

,但是在保存窗口中,在另一个应用程序中,它在另一个应用程序中行不通。你能帮忙吗?

这是我拥有的代码。

tell application "Finder"
    try
        if exists Finder window 1 then
            set thisPath to (the target of the front window) as alias
        else
            set thisPath to (path to desktop)
        end if
    on error
        return
    end try
end tell
set x to my the_perfect_datestring()
if x is not "-ERROR" then
    set fullPath to thisPath & x as text
    tell application "Finder"
        try
            --activate
            if not (exists fullPath) then
                set y to make new folder at thisPath with properties {name:x}
            end if
            activate
        end try
    end tell
end if
on the_perfect_datestring()
    try
        set cd to (the current date)
        set the_year to year of (cd) as number
        set the_month to month of (cd) as number
        set the_day to day of (cd) as number
        if the_month < 10 then set the_month to "0" & the_month
        if the_day < 10 then set the_day to "0" & the_day
        return ((the_year & "-" & the_month & "-" & the_day) as string)
    on error
        return "-ERROR"         
    end try

您无法访问带有Finder Applescript术语的保存对话框中的设置。

AppleScript的唯一方法是系统事件和GUI脚本。脚本语法在很大程度上取决于特定的UI。

要在其他应用程序中使用保存对话框,您需要稍微更改工作流程。"保存对话框"可与文本(文件/文件夹名称)一起使用,因此您可以在所需的字符串中创建粘贴文本服务。

创建服务,启动Automator应用程序并选择服务(快速操作)文档 - 工作流将具有确定将接受的输入的设置,例如:

Workflow receives current text in any application

接下来,选中Output replaces selected text框 - 这将用工作流的输出替换所选的文本。

将AppleScript 拖动到工作流程中,并将默认内容完全替换为新的Run处理程序和您的日期字符串处理程序,例如:

on run {input, parameters}
  set x to the_perfect_datestring()
  if x is not "-ERROR" then return x
end run
on the_perfect_datestring()
  try
    # do your filename stuff
    tell (current date) as «class isot» as string
      return text 1 thru 10
    end tell -- or whatever
  on error
    return "-ERROR"
  end try
end the_perfect_datestring

保存工作流程后,应在选择一些文本时可用(在右键单击上下文菜单中)。

与查找器的原始工作流相当于您的原始工作流程,然后将创建一个新文件夹,并在突出显示的"无题"文件夹名称上使用该服务将其更改。

相关内容

  • 没有找到相关文章

最新更新