-1

我正在制作这个applescript来启动带有注释的应用程序:

tell application "Notes"
if exists note starts with applaunch then
    set LCommands to {"Launch", "Open"}
    repeat with y from 1 to count LCommands
        set applaunch to (item y of LCommands)
        set AppleScript's text item delimiters to applaunch
        set myApp to text items 2 thru 1 of note
        set AppleScript's text item delimiters to {""}
        set myApp to myApp as text
        if y = 1 or y = 2 then
            tell application myApp to launch
        end if
    end repeat
    delete note starts with applaunch
end tell

并返回错误“未定义变量 applaunch”,但我定义了它。该怎么办?

4

2 回答 2

0

您可以尝试以下方法:

set LCommands to {"Launch ", "Open "}

tell application "Notes"
    repeat with aCommand in LCommands
        set aCommand to (contents of aCommand)
        set myNotes to (notes whose name begins with aCommand)
        repeat with aNote in myNotes
            set aNote to contents of aNote
            set noteName to aNote's name
            set AppleScript's text item delimiters to aCommand
            set myApp to text items 2 thru -1 of noteName
            set AppleScript's text item delimiters to {""}
            set myApp to myApp as text

            -- If you need to work with the Note's content as plain text
            --set noteBody to do shell script "echo " & (quoted form of (aNote's body as text)) & " | textutil -stdin -convert txt -stdout "
            my launchDelete(aNote, myApp)
        end repeat
    end repeat
end tell

on launchDelete(theNote, theApp)
    try
        tell application theApp to launch
        tell application "Notes" to delete theNote
    end try
end launchDelete
于 2013-03-30T21:48:13.293 回答
0

applaunch在第 2 行中引用,但直到第 5 行才定义它。

end if此外,您的代码示例缺少if exists note starts with applaunch then.

于 2013-03-30T19:05:09.770 回答