ペーストボードの内容の種類の確認
AppleScript サンプルコード
行番号 | ソース |
---|---|
001 | #!/usr/bin/env osascript |
002 | ----+----1----+----2----+-----3----+----4----+----5----+----6----+----7 |
003 | # |
004 | # com.cocolog-nifty.quicktimer.icefloe |
005 | ----+----1----+----2----+-----3----+----4----+----5----+----6----+----7 |
006 | use AppleScript version "2.8" |
007 | use framework "Foundation" |
008 | use framework "AppKit" |
009 | use scripting additions |
010 | |
011 | property refMe : a reference to current application |
012 | |
013 | |
014 | ################################ |
015 | ######ペーストボードを取得 |
016 | ################################ |
017 | set ocidPasteboard to refMe's NSPasteboard's generalPasteboard() |
018 | ####タイプを取得 |
019 | set ocidPastBoardTypeArray to ocidPasteboard's types |
020 | #ダイアログに戻すテキスト |
021 | set strOutPutText to ("") as text |
022 | #順番に確認 |
023 | repeat with itemType in ocidPastBoardTypeArray |
024 | #タイプをテキストで |
025 | set strType to itemType as text |
026 | #追加していく |
027 | set strOutPutText to (strOutPutText & strType & "\n") as text |
028 | end repeat |
029 | |
030 | |
031 | ############################## |
032 | #####ダイアログ |
033 | ############################## |
034 | tell current application |
035 | set strName to name as text |
036 | end tell |
037 | if strName is "osascript" then |
038 | tell application "Finder" |
039 | activate |
040 | end tell |
041 | else |
042 | tell current application |
043 | activate |
044 | end tell |
045 | end if |
046 | set strFilePath to ("/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AllMyFiles.icns") as text |
047 | set aliasIconPath to (POSIX file strFilePath) as alias |
048 | try |
049 | set recordResult to (display dialog "戻り値です" with title "戻り値です" default answer strOutPutText buttons {"クリップボードにコピー", "終了", "再実行"} default button "再実行" cancel button "終了" giving up after 20 with icon aliasIconPath without hidden answer) as record |
050 | on error |
051 | return "エラーしました" |
052 | end try |
053 | if (gave up of recordResult) is true then |
054 | return "時間切れです" |
055 | end if |
056 | ############################## |
057 | #####自分自身を再実行 |
058 | ############################## |
059 | if button returned of recordResult is "再実行" then |
060 | tell application "Finder" |
061 | set aliasPathToMe to (path to me) as alias |
062 | end tell |
063 | run script aliasPathToMe with parameters "再実行" |
064 | end if |
065 | ############################## |
066 | #####値のコピー |
067 | ############################## |
068 | if button returned of recordResult is "クリップボードにコピー" then |
069 | try |
070 | set strText to text returned of recordResult as text |
071 | ####ペーストボード宣言 |
072 | set appPasteboard to refMe's NSPasteboard's generalPasteboard() |
073 | set ocidText to (refMe's NSString's stringWithString:(strText)) |
074 | appPasteboard's clearContents() |
075 | appPasteboard's setString:(ocidText) forType:(refMe's NSPasteboardTypeString) |
076 | on error |
077 | tell application "Finder" |
078 | set the clipboard to strText as text |
079 | end tell |
080 | end try |
081 | end if |
082 | |
083 | |
084 | return 0 |
AppleScriptで生成しました |
| 固定リンク
「NSPasteboard」カテゴリの記事
- クリップボード内のテキストに改行を<br />に変更して戻す 修正(2024.11.15)
- ペーストボードの内容の種類の確認(2024.10.06)
- [NSPasteboard]ペーストボードからテキストの取り出し(修正)(2024.07.02)
- 画像データをクリップボードにPDF形式で入れる(2024.06.28)
- クリップボードの中身で保存可能なものをファイルに保存する(2024.06.23)