ペーストボード内の文字数
#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use framework "Appkit"
use scripting additions
property refMe : a reference to current application
##ペーストボード初期化
set appPasteboard to refMe's NSPasteboard's generalPasteboard()
##この方法だとスクリプトメニューから実行した時エラーになる
## set ocidStringData to appPasteboard's stringForType:(refMe's NSPasteboardTypeString)
##ペーストボードからテキストを取り出す
set ocidStringData to appPasteboard's stringForType:("public.utf8-plain-text")
set ocidText to (refMe's NSString's stringWithString:(ocidStringData))
##文字数数える
set numCntText to ocidText's |length|() as integer
###ダイアログを前面に出す
tell current application
set strName to name as text
end tell
####スクリプトメニューから実行したら
if strName is "osascript" then
tell application "Finder"
activate
end tell
else
tell current application
activate
end tell
end if
###ICON
tell application "Finder"
set aliasIconPath to (POSIX file "/System/Applications/TextEdit.app/Contents/Resources/AppIcon.icns") as alias
end tell
set strMes to ("文字数:" & numCntText) as text
set recordResult to (display dialog strMes with title strMes default answer numCntText buttons {"クリップボードにコピー", "キャンセル", "OK"} default button "OK" giving up after 20 with icon aliasIconPath without hidden answer)
if button returned of recordResult is "クリップボードにコピー" then
set strText to text returned of recordResult as text
####ペーストボード宣言
set appPasteboard to refMe's NSPasteboard's generalPasteboard()
set ocidText to (refMe's NSString's stringWithString:(strText))
appPasteboard's clearContents()
appPasteboard's setString:(ocidText) forType:(refMe's NSPasteboardTypeString)
end if
| 固定リンク
「NSPasteboard」カテゴリの記事
- クリップボード内のテキストに改行を<br />に変更して戻す 修正(2024.11.15)
- ペーストボードの内容の種類の確認(2024.10.06)
- [NSPasteboard]ペーストボードからテキストの取り出し(修正)(2024.07.02)
- 画像データをクリップボードにPDF形式で入れる(2024.06.28)
- クリップボードの中身で保存可能なものをファイルに保存する(2024.06.23)