« [python] html.escape Html Entities1ライナー | トップページ | [headless]PDFで保存 »

ペーストボード内の文字数


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

#!/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


|

« [python] html.escape Html Entities1ライナー | トップページ | [headless]PDFで保存 »

AppleScript NSPasteboard」カテゴリの記事