Droplet

フォルダドロップレット汎用 考え中


AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004#
005#
006# com.cocolog-nifty.quicktimer.icefloe
007----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
008use AppleScript version "2.8"
009use framework "Foundation"
010use framework "AppKit"
011use scripting additions
012property refMe : a reference to current application
013
014#################################
015#【設定項目】
016#ここで指定するUTIは親要素が望ましい
017property strUTI : ("public.folder") as text
018
019
020#################################
021#【1】クリックでオープンした場合
022on run
023  #ダイアログ を前面に
024  set strName to (name of current application) as text
025  if strName is "osascript" then
026    tell application "Finder" to activate
027  else
028    tell current application to activate
029  end if
030  #デフォルトパス
031  set appFileManager to refMe's NSFileManager's defaultManager()
032  set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSDesktopDirectory) inDomains:(refMe's NSUserDomainMask))
033  set ocidDesktopDirPathURL to ocidURLsArray's firstObject()
034  set aliasDefaultLocation to (ocidDesktopDirPathURL's absoluteURL()) as alias
035  set strMes to ("フォルダを選んでください") as text
036  set strPrompt to ("フォルダを選んでください") as text
037  try
038    #ダイアログ
039    set listChooseAliasDirPath to (choose folder strMes with prompt strPrompt default location (aliasDefaultLocation) with multiple selections allowed without invisibles and showing package contents) as list
040  on error
041    log "エラーしました"
042    return "エラーしました"
043  end try
044  #ファイルリストを次の処理に渡す
045  set boolDone to doPathSender(listChooseAliasDirPath)
046  #戻り値チェック
047  if boolDone is false then
048    display alert "エラーが発生しました" message "エラーが発生しました"
049    return "エラー終了run"
050  else
051    return "処理終了run"
052  end if
053end run
054
055#################################
056#【2】ドロップした場合
057on open listDropAliasDirPath
058  #########【2−1】UTIチェック
059  #親要素(この属性なら処理する)のUTType
060  set ocidChkUTType to refMe's UTType's typeWithIdentifier:(strUTI)
061  #サブルーチンに渡すリスト
062  set listAliasDirPath to {} as list
063  #ドロップされたアイテムの数だけ繰り返す
064  repeat with itemDropAliasDirPath in listDropAliasDirPath
065    #エイリアス
066    set aliasItemDirPath to itemDropAliasDirPath as alias
067    set strName to (name of current application) as text
068    if strName is "osascript" then
069      tell application "Finder"
070        #Finder情報を取得して
071        set recordInfoFor to info for aliasItemDirPath
072      end tell
073    else
074      tell current application
075        set recordInfoFor to info for aliasItemDirPath
076      end tell
077    end if
078    #フォルダか?確認
079    set boolFolder to (folder of recordInfoFor) as boolean
080    if boolFolder is true then
081      log "フォルダなので処理対象"
082      set beginning of listAliasDirPath to aliasItemDirPath
083    else if boolFolder is false then
084      log "フォルダではないので処理しない"
085    end if
086  end repeat
087  #本来不要だけど ハードリンク対策で入れてある
088  #########【2−1】KINDチェック
089  set listSendAliasDirPath to {} as list
090  repeat with itemAliasDirPath in listAliasDirPath
091    set aliasDirPath to itemAliasDirPath as alias
092    #処理する判定
093    set boolChkAliasPath to true as boolean
094    try
095      tell application "Finder"
096        set strKind to (kind of aliasDirPath) as text
097      end tell
098      if strKind is "アプリケーション" then
099        log "アプリケーションは処理しない"
100        set boolChkAliasPath to false as boolean
101      else if strKind is "ボリューム" then
102        log "ボリュームは処理しない"
103        set boolChkAliasPath to false as boolean
104      else if strKind is "エイリアス" then
105        log "エイリアスは処理しない"
106        set boolChkAliasPath to false as boolean
107      end if
108    on error
109      log "シンボリックリンク等kindを取得できないファイルは処理しない"
110      set boolChkAliasPath to false as boolean
111    end try
112    if boolChkAliasPath is true then
113      set beginning of listSendAliasDirPath to aliasDirPath
114    end if
115  end repeat
116  
117  #########【2−3】次工程に渡す
118  set boolDone to doPathSender(listSendAliasDirPath)
119  if boolDone is not true then
120    return false
121  else
122    return "処理終了open"
123  end if
124end open
125
126#################################
127#【3】1と2から
128#フォルダパスのエイリアスリストを受け取り
129#処理に順番に渡す
130to doPathSender(argListAliasDirPath)
131  set appFileManager to refMe's NSFileManager's defaultManager()
132  #1回でいい処理はここに記述する
133  
134  ####1フォルダパス毎本処理に渡す
135  repeat with itemAliasDirPath in argListAliasDirPath
136    #■本処理に渡す
137    set boolDone to doAction(itemAliasDirPath)
138    #戻り値がエラーだったら?
139    if boolDone is false then
140      tell application "Finder"
141        set strDirName to (name of itemAliasDirPath) as text
142      end tell
143      set strMes to (strDirName & "でエラーになりました") as text
144      display alert "エラーが発生しました" message strMes
145      return strMes
146      #エラーになったところで止める
147    end if
148  end repeat
149  return true
150end doPathSender
151
152#################################
153#【4】実際の処理は全てここ
154to doAction(argAliasDirPath)
155  set appFileManager to refMe's NSFileManager's defaultManager()
156  set aliasDirPath to argAliasDirPath as alias
157  set strDirPath to (POSIX path of aliasDirPath) as text
158  set ocidDirPathStr to refMe's NSString's stringWithString:(strDirPath)
159  set ocidDirPath to ocidDirPathStr's stringByStandardizingPath()
160  set ocidDirPathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:(ocidDirPath) isDirectory:(true))
161  ###
162  try
163    ######ここに本処理を入れる
164    log strDirPath
165  on error
166    #エラーになったらfalseを戻す
167    return false
168  end try
169  
170  return true
171end doAction
AppleScriptで生成しました

|

ドロップレット基本フォーマット


AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004#
005#
006# com.cocolog-nifty.quicktimer.icefloe
007----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
008use AppleScript version "2.6"
009use framework "Foundation"
010use framework "AppKit"
011use scripting additions
012
013property refMe : a reference to current application
014#ここで指定するUTIは親要素が望ましい
015property strUTI : "public.image" as text
016
017
018#################################
019#【1】クリックでオープンした場合
020on run
021  #ダイアログ を前面に
022  set strName to (name of current application) as text
023  if strName is "osascript" then
024    tell application "Finder" to activate
025  else
026    tell current application to activate
027  end if
028  #デフォルトパス
029  set appFileManager to refMe's NSFileManager's defaultManager()
030  set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSDesktopDirectory) inDomains:(refMe's NSUserDomainMask))
031  set ocidDesktopDirPathURL to ocidURLsArray's firstObject()
032  set aliasDefaultLocation to (ocidDesktopDirPathURL's absoluteURL()) as alias
033  set strMes to ("画像ファイルを選んでください") as text
034  set strPrompt to ("画像ファイルを選んでください") as text
035  try
036    #ダイアログ
037    set listChooseAliasFilePath to (choose file strMes with prompt strPrompt default location (aliasDefaultLocation) of type listUTI with multiple selections allowed without invisibles and showing package contents) as list
038  on error
039    log "エラーしました"
040    return "エラーしました"
041  end try
042  #ファイルリストを次の処理に渡す
043  set boolDone to doPathSender(listChooseAliasFilePath)
044  #戻り値チェック
045  if boolDone is false then
046    display alert "エラーが発生しました" message "エラーが発生しました"
047    return "エラー終了run"
048  else
049    return "処理終了run"
050  end if
051end run
052
053#################################
054#【2】ドロップした場合
055on open listDropAliasFilePath
056  #########【2−1】UTIチェック
057  #親要素(この属性なら処理する)のUTType
058  set ocidChkUTType to refMe's UTType's typeWithIdentifier:(strUTI)
059  #サブルーチンに渡すリスト
060  set listAliasFilePath to {} as list
061  #ドロップされたアイテムの数だけ繰り返す
062  repeat with itemDropAliasFilePath in listDropAliasFilePath
063    #エイリアス
064    set aliasItemFilePath to itemDropAliasFilePath as alias
065    set strName to (name of current application) as text
066    if strName is "osascript" then
067      tell application "Finder"
068        #Finder情報を取得して
069        set recordInfoFor to info for aliasItemFilePath
070      end tell
071    else
072      tell current application
073        set recordInfoFor to info for aliasItemFilePath
074      end tell
075    end if
076    #UTIを取得
077    set strItemUIT to (type identifier of recordInfoFor) as text
078    set ocidUTType to (refMe's UTType's typeWithIdentifier:(strItemUIT))
079    set ocidParentUTIArray to (ocidUTType's supertypes())'s allObjects()
080    #含まれているか?チェックする
081    set boolContain to (ocidParentUTIArray's containsObject:(ocidChkUTType))
082    if boolContain is true then
083      log "含まれているので処理対象"
084      copy aliasItemFilePath to end of listAliasFilePath
085    else if boolContain is false then
086      log "含まれてない"
087    end if
088  end repeat
089  #本来不要だけど ハードリンク対策で入れてある
090  #########【2−1】KINDチェック
091  set listSendAliasFilePath to {} as list
092  repeat with itemAliasFilePath in listAliasFilePath
093    set aliasFilePath to itemAliasFilePath as alias
094    #処理する判定
095    set boolChkAliasPath to true as boolean
096    try
097      tell application "Finder"
098        set strKind to (kind of aliasFilePath) as text
099      end tell
100      if strKind is "アプリケーション" then
101        log "アプリケーションは処理しない"
102        set boolChkAliasPath to false as boolean
103      else if strKind is "ボリューム" then
104        log "ボリュームは処理しない"
105        set boolChkAliasPath to false as boolean
106      else if strKind is "エイリアス" then
107        log "エイリアスは処理しない"
108        set boolChkAliasPath to false as boolean
109      else if strKind is "フォルダ" then
110        log "フォルダは処理しない"
111        set boolChkAliasPath to false as boolean
112      end if
113    on error
114      log "シンボリックリンク等kindを取得できないファイルは処理しない"
115      set boolChkAliasPath to false as boolean
116    end try
117    if boolChkAliasPath is true then
118      copy aliasFilePath to end of listSendAliasFilePath
119    end if
120  end repeat
121  
122  #########【2−3】次工程に渡す
123  set boolDone to doPathSender(listSendAliasFilePath)
124  if boolDone is not true then
125    return false
126  else
127    return "処理終了open"
128  end if
129end open
130
131#################################
132#【3】1と2からファイルパスのエイリアスを受け取り
133#処理に順番に渡す
134to doPathSender(argListAliasFilePath)
135  set appFileManager to refMe's NSFileManager's defaultManager()
136  #1回でいい処理はここに記述する
137  
138  ####1ファイルパス毎本処理に渡す
139  repeat with itemAliasFilePath in argListAliasFilePath
140    #■本処理に渡す
141    set boolDone to doAction(itemAliasFilePath)
142    #戻り値がエラーだったら?
143    if boolDone is false then
144      tell application "Finder"
145        set strFileName to (name of itemAliasFilePath) as text
146      end tell
147      set strMes to (strFileName & "でエラーになりました") as text
148      display alert "エラーが発生しました" message strMes
149      return strMes
150      #エラーになったところで止める
151    end if
152  end repeat
153  return true
154end doPathSender
155
156#################################
157#【4】実際の処理は全てここ
158to doAction(argAliasFilePath)
159  set appFileManager to refMe's NSFileManager's defaultManager()
160  set aliasFilePath to argAliasFilePath as alias
161  set strFilePath to (POSIX path of aliasFilePath) as text
162  set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
163  set ocidFilePath to ocidFilePathStr's stringByStandardizingPath()
164  set ocidFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFilePath) isDirectory:(false))
165  
166  ###
167  try
168    log strFilePath
169  on error
170    #エラーになったらfalseを戻す
171    return false
172  end try
173  
174  return true
175end doAction
AppleScriptで生成しました

|

ドロップレット基本フォーマット(再考中)


AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004#
005# com.cocolog-nifty.quicktimer.icefloe
006----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
007use AppleScript version "2.6"
008use framework "Foundation"
009use framework "AppKit"
010use scripting additions
011
012property refMe : a reference to current application
013# property listUTI : {"public.image"} as list
014property listUTI : {"public.item"} as list
015
016#################################
017#【1】クリックでオープンした場合
018on run
019  #ダイアログ を前面に
020  set strName to (name of current application) as text
021  if strName is "osascript" then
022    tell application "Finder" to activate
023  else
024    tell current application to activate
025  end if
026  #デフォルトパス
027  set appFileManager to refMe's NSFileManager's defaultManager()
028  set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSDesktopDirectory) inDomains:(refMe's NSUserDomainMask))
029  set ocidDesktopDirPathURL to ocidURLsArray's firstObject()
030  set aliasDefaultLocation to (ocidDesktopDirPathURL's absoluteURL()) as alias
031  set strMes to ("ファイルを選んでください") as text
032  set strPrompt to ("ファイルを選んでください") as text
033  try
034    #ダイアログ
035    set listChooseAliasFilePath to (choose file strMes with prompt strPrompt default location (aliasDefaultLocation) of type listUTI with multiple selections allowed without invisibles and showing package contents) as list
036  on error
037    log "エラーしました"
038    return "エラーしました"
039  end try
040  #ファイルリストを次の処理に渡す
041  set boolDone to doPathSender(listChooseAliasFilePath)
042  #戻り値チェック
043  if boolDone is false then
044    display alert "エラーが発生しました" message "エラーが発生しました"
045    return "エラー終了run"
046  else
047    return "処理終了run"
048  end if
049end run
050
051#################################
052#【2】ドロップした場合
053on open listDropAliasFilePath
054  #########【2−1】UTIチェック
055  #サブルーチンに渡すリスト
056  set listAliasFilePath to {} as list
057  #ドロップされたアイテムの数だけ繰り返す
058  repeat with itemDropAliasFilePath in listDropAliasFilePath
059    #エイリアス
060    set aliasItemFilePath to itemDropAliasFilePath as alias
061    tell application "Finder"
062      #Finder情報を取得して
063      set recordInfoFor to info for aliasItemFilePath
064    end tell
065    #UTIを取得
066    set strItemUIT to (type identifier of recordInfoFor) as text
067    #UTIが対象ファイルならリストに追加
068    repeat with itemUTI in listUTI
069      if strItemUIT is itemUTI then
070        copy aliasItemFilePath to end of listAliasFilePath
071      end if
072    end repeat
073  end repeat
074  #########【2−1】KINDチェック
075  set listSendAliasFilePath to {} as list
076  repeat with itemAliasFilePath in listAliasFilePath
077    #処理する判定
078    set boolChkAliasPath to true as boolean
079    try
080      tell application "Finder"
081        set strKind to (kind of itemDropObject) as text
082      end tell
083      if strKind is "アプリケーション" then
084        log "アプリケーションは処理しない"
085        set boolChkAliasPath to false as boolean
086      else if strKind is "ボリューム" then
087        log "ボリュームは処理しない"
088        set boolChkAliasPath to false as boolean
089      else if strKind is "エイリアス" then
090        log "エイリアスは処理しない"
091        set boolChkAliasPath to false as boolean
092      else if strKind is "フォルダ" then
093        log "フォルダは処理しない"
094        set boolChkAliasPath to false as boolean
095      end if
096    on error
097      log "シンボリックリンク等kindを取得できないファイルは処理しない"
098      set boolChkAliasPath to false as boolean
099    end try
100    if boolChkAliasPath is true then
101      copy itemAliasFilePath to end of listSendAliasFilePath
102    end if
103  end repeat
104  #########【2−3】次工程に渡す
105  set boolDone to doPathSender(listSendAliasFilePath)
106  if boolDone is not true then
107    return false
108  else
109    return "処理終了open"
110  end if
111end open
112
113#################################
114#【3】1と2からファイルパスのエイリアスを受け取り
115#処理に順番に渡す
116to doPathSender(argListAliasFilePath)
117  set appFileManager to refMe's NSFileManager's defaultManager()
118  #1回でいい処理はここに記述する
119  
120  ####1ファイルパス毎本処理に渡す
121  repeat with itemAliasFilePath in argListAliasFilePath
122    #本処理に渡す
123    set boolDone to doAction(itemAliasFilePath)
124    #戻り値がエラーだったら?
125    if boolDone is false then
126      tell application "Finder"
127        set strFileName to (name of itemAliasFilePath) as text
128      end tell
129      set strMes to (strFileName & "でエラーになりました") as text
130      display alert "エラーが発生しました" message strMes
131      return strMes
132      #エラーになったところで止める
133    end if
134  end repeat
135  return true
136end doPathSender
137
138#################################
139#【4】実際の処理は全てここ
140to doAction(argAliasFilePath)
141  set appFileManager to refMe's NSFileManager's defaultManager()
142  set aliasFilePath to argAliasFilePath as alias
143  set strFilePath to (POSIX path of aliasFilePath) as text
144  set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
145  set ocidFilePath to ocidFilePathStr's stringByStandardizingPath()
146  set ocidFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFilePath) isDirectory:(false))
147  
148  ###
149  try
150    log strFilePath
151  on error
152    #エラーになったらfalseを戻す
153    return false
154  end try
155  
156  return true
157end doAction
AppleScriptで生成しました

|

[AppleScript]ドロップレット OPENしたくない(Openに値を渡さない & ログを出す)その3


AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003# com.cocolog-nifty.quicktimer.icefloe
004#
005----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
006use AppleScript version "2.8"
007use framework "Foundation"
008use framework "AppKit"
009use scripting additions
010
011property refMe : a reference to current application
012###################
013#設定項目 対象のUTI
014property strUTI : ("com.adobe.pdf") as text
015
016###################
017#Wクリックで実行
018on run
019  ###ダイアログを前面に出す
020  tell current application
021    set strName to name as text
022  end tell
023  if strName is "osascript" then
024    tell application "Finder" to activate
025  else
026    tell current application to activate
027  end if
028  #ダイアログ
029  set appFileManager to refMe's NSFileManager's defaultManager()
030  set ocidUserDesktopPathArray to (appFileManager's URLsForDirectory:(refMe's NSDesktopDirectory) inDomains:(refMe's NSUserDomainMask))
031  set ocidUserDesktopPath to ocidUserDesktopPathArray's objectAtIndex:0
032  set listChooseFileUTI to {strUTI} as list
033  set strMesText to ("PDFファイルを選んでください") as text
034  set strPromptText to ("PDFファイルを選んでください") as text
035  set listChooseAliasFilePath to (choose file strMesText with prompt strPromptText default location (ocidUserDesktopPath as alias) of type listChooseFileUTI with invisibles and multiple selections allowed without showing package contents) as list
036  #サブルーチンに渡す
037  set boolDone to doAction(listChooseAliasFilePath)
038  #戻り値がエラーだったか?
039  if boolDone is false then
040    display alert "エラーが発生しました" message "エラーが発生しました"
041    return
042  end if
043  return "処理終了RUN"
044end run
045
046###################
047#ドロップ
048on open listDropAliasFilePath
049  #サブルーチンに渡すリスト
050  set listAliasFilePath to {} as list
051  #ドロップされたアイテムの数だけ繰り返す
052  repeat with itemDropAliasFilePath in listDropAliasFilePath
053    #エイリアス
054    set aliasItemFilePath to itemDropAliasFilePath as alias
055    tell application "Finder"
056      #Finder情報を取得して
057      set recordInfoFor to info for aliasItemFilePath
058    end tell
059    #UTIを取得
060    set strItemUIT to (type identifier of recordInfoFor) as text
061    #UTIが対象ファイルならリストに追加
062    if strItemUIT is strUTI then
063      copy aliasItemFilePath to end of listAliasFilePath
064    end if
065  end repeat
066  set numCntAliasList to (count of listAliasFilePath) as integer
067  if numCntAliasList > 0 then
068    #サブルーチンに渡す
069    set boolDone to doAction(listAliasFilePath)
070  else
071    display alert "エラーが発生しました対象のファイルではありません"
072    return "エラー終了open"
073  end if
074  #戻り値がエラーだったか?
075  if boolDone is false then
076    display alert "エラーが発生しました" message "エラーが発生しました"
077    return "エラー終了open"
078  end if
079  return "処理終了open"
080  
081end open
082
083###################
084#実行されるのはこれ
085to doAction(argListAliasFilePath)
086  #ファイルエイリアスリストを順番の処理
087  repeat with itemAliasFilePath in argListAliasFilePath
088    set aliasFilePath to itemAliasFilePath as alias
089    try
090      #ここに処理内容
091      display alert "ドロップしたファイルのパス" & (POSIX path of aliasFilePath)
092    on error
093      #エラーをログにする
094      refMe's NSLog("■■■: サブルーチンでエラーになりました")
095      return false
096    end try
097  end repeat
098  #全部エラーなく終わったらtrueを戻す
099  return true
100end doAction
AppleScriptで生成しました

|

[AppleScript]ドロップレット OPENしたくない(Openに値を渡さない & ログを出す)その2


AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003# com.cocolog-nifty.quicktimer.icefloe
004#
005----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
006use AppleScript version "2.8"
007use framework "Foundation"
008use scripting additions
009
010property refMe : a reference to current application
011
012###################
013#Wクリックで実行
014#エディタから実行
015on run
016  
017  set listAliasFilePath to (choose file with multiple selections allowed) as list
018  #サブルーチンに渡す
019  set boolDone to doAction(listAliasFilePath)
020  if boolDone is false then
021    display alert "エラーが発生しました" message "エラーが発生しました"
022    return
023  end if
024  return
025  
026end run
027
028###################
029#ドロップ
030on open listAliasFilePath
031  #サブルーチンに渡す
032  set boolDone to doAction(listAliasFilePath)
033  if boolDone is false then
034    display alert "エラーが発生しました" message "エラーが発生しました"
035    return
036  end if
037  return
038  
039end open
040
041###################
042#実行されるのはこれ
043to doAction(argListAliasFilePath)
044  #ファイルエイリアスリストを順番の処理
045  repeat with itemAliasFilePath in argListAliasFilePath
046    try
047      ##ここに本処理
048      set listButtons to {"OK", "QUIT"} as list
049      display alert "ドロップしたファイルのパス" message (itemAliasFilePath as text) buttons listButtons default button (item 1 of listButtons) cancel button (item 2 of listButtons) giving up after 3
050    on error
051      #エラーをログにする
052      refMe's NSLog("■■■: サブルーチンでエラーになりました")
053      return false
054    end try
055  end repeat
056  #全部エラーなく終わったらtrueを戻す
057  return true
058end doAction
AppleScriptで生成しました

|

[AppleScript]ドロップレットの場合のPath to me


サンプルコード

サンプルソース(参考)
行番号ソース
001on run
002  set aliasPathToMe to (path to me) as alias
003  set strPathToMe to (POSIX path of aliasPathToMe) as text
004
005   doAction(strPathToMe)
006end run
007
008
009on open
010  
011  set aliasPathToMe to (path to me) as alias
012  set strPathToMe to (POSIX path of aliasPathToMe) as text
013   doAction(strPathToMe)
014end open
015
016
017to doAction(argFilePath)
018    display alert argFilePath
019  
020  
021end doAction
AppleScriptで生成しました

|

[AppleScript]ドロップレット OPENしたくない(Openに値を渡さないようにしたい)


サンプルコード

サンプルソース(参考)
行番号ソース
001###################
002#Wクリックで実行
003#エディタから実行
004on run
005  set listAliasFilePath to (choose file with multiple selections allowed) as list
006  repeat with itemAliasFilePath in listAliasFilePath
007    doAction(itemAliasFilePath)
008  end repeat
009end run
010
011###################
012#ドロップ
013on open listAliasFilePath
014  repeat with itemAliasFilePath in listAliasFilePath
015    doAction(itemAliasFilePath)
016  end repeat
017end open
018
019###################
020#実行されるのはこれ
021to doAction(argListAliasFilePath)
022  display alert (argListAliasFilePath as text)
023  
024end doAction
AppleScriptで生成しました

|

その他のカテゴリー

Accessibility Acrobat Acrobat 2020 Acrobat AddOn Acrobat Annotation Acrobat ARMDC Acrobat AV2 Acrobat BookMark Acrobat Classic Acrobat DC Acrobat Dialog Acrobat Distiller Acrobat Form Acrobat JS Acrobat Manifest Acrobat Menu Acrobat Open Acrobat Plugin Acrobat Preferences Acrobat Preflight Acrobat python Acrobat Reader Acrobat SCA Acrobat SCA Updater Acrobat Sequ Acrobat Sign Acrobat Stamps Acrobat Watermark Acrobat Windows Acrobat Windows Reader Admin Admin Account Admin Apachectl Admin configCode Admin Device Management Admin LaunchServices Admin Locationd Admin loginitem Admin Maintenance Admin Mobileconfig Admin Permission Admin Pkg Admin Power Management Admin Printer Admin SetUp Admin SMB Admin Support Admin System Information Admin Tools Admin Users Admin Volumes Adobe Adobe FDKO Adobe RemoteUpdateManager AppKit Apple AppleScript AppleScript do shell script AppleScript List AppleScript ObjC AppleScript Osax AppleScript PDF AppleScript Pictures AppleScript record AppleScript Script Editor AppleScript Script Menu AppleScript Shortcuts AppleScript Shortcuts Events AppleScript System Events AppleScript System Events Plist AppleScript Video Applications AppStore Archive Attributes Automator BackUp Barcode Barcode QR Barcode QR Decode Bash Basic Basic Path Bluetooth BOX Browser Calendar CD/DVD Choose Chrome CIImage CityCode CloudStorage Color com.apple.LaunchServices.OpenWith Console Contacts CotEditor CURL current application Date&Time delimiters Desktop Device Diff Disk Dock DropBox Droplet eMail Encode % Encode Decode Encode UTF8 Error EXIFData ffmpeg File Finder Firefox Folder FolderAction Fonts GIF github Guide HTML HTML Entity Icon Illustrator Image Events Image2PDF ImageOptim iPhone iWork Javascript Jedit Json Label Leading Zero List locationd LRC lsappinfo LSSharedFileList m3u8 Mail MakePDF Map Math Media Media AVAsset Media AVconvert Media AVFoundation Media AVURLAsset Media Movie Media Music Memo Messages Microsoft Microsoft Edge Microsoft Excel Mouse Music NetWork Notes NSArray NSArray Sort NSBezierPath NSBitmapImageRep NSBundle NSCFBoolean NSCharacterSet NSColor NSColorList NSData NSDecimalNumber NSDictionary NSError NSEvent NSFileAttributes NSFileManager NSFileManager enumeratorAtURL NSFont NSFontManager NSGraphicsContext NSImage NSIndex NSKeyedArchiver NSKeyedUnarchiver NSLocale NSMutableArray NSMutableDictionary NSMutableString NSNotFound NSNumber NSOpenPanel NSPasteboard NSpoint NSPredicate NSPrintOperation NSRange NSRect NSRegularExpression NSRunningApplication NSScreen NSSize NSString NSString stringByApplyingTransform NSStringCompareOptions NSTask NSTimeZone NSURL NSURL File NSURLBookmark NSURLComponents NSURLResourceKey NSURLSession NSUserDefaults NSUUID NSView NSWorkspace Numbers OAuth OneDrive PDF PDFAnnotation PDFAnnotationWidget PDFContext PDFDisplayBox PDFDocumentPermissions PDFImageRep PDFKit PDFnUP PDFOutline perl Photoshop PlistBuddy pluginkit postalcode PostScript prefPane Preview Python QuickLook QuickTime ReadMe Regular Expression Reminders ReName Repeat RTF Safari SaveFile ScreenCapture ScreenSaver SF Symbols character id SF Symbols Entity sips Skype Slack Sound Spotlight sqlite SRT StandardAdditions Swift System Settings TCC TemporaryItems Terminal Text Text CSV Text MD Text TSV TextEdit Tools Translate Trash Twitter Typography UI Unit Conversion UTType valueForKeyPath Video VisionKit Visual Studio Code Wacom webarchive webp Wifi Windows XML XML EPUB XML OPML XML Plist XML RSS XML savedSearch XML SVG XML TTML XML webloc XML XMP YouTube zoom