2013-03-30 57 views
-1

我做了使这个AppleScript的用一记启动应用程序:变量没有被定义 - 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没有定义”,但我定义它。该怎么办?

回答

0

您在第2行中引用applaunch,但你不定义它,直到第5行

而且,你的代码示例是缺少与if exists note starts with applaunch then而来的end if

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