[NSPasteboard] releaseGlobally
clearContents()は中身を初期化するが
releaseGlobally()はgeneralPasteboard()で作成したペーストボードを解放する
NSPasteboard使ったら最後に忘れず入れる
#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
##自分環境がos12なので2.8にしているだけです
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions
######ログ表示
doLogView()
property objMe : a reference to current application
property objNSString : a reference to objMe's NSString
property objNSPasteboard : a reference to objMe's NSPasteboard
property objNSNotFound : a reference to 9.22337203685477E+18 + 5807
set strSampleText to "美しい日本語" as text
####テキストをNSStringに
set ocidText to objNSString's alloc()'s initWithString:(strSampleText)
log ocidText as text
log className() of ocidText as text
####ペーストボードを定義
set ocidPasteboard to objNSPasteboard's generalPasteboard()
log className() of ocidPasteboard as text
####ペーストボードの内容を消去
ocidPasteboard's clearContents()
log className() of ocidPasteboard as text
####ペーストボードの変更回数
log ocidPasteboard's changeCount()
####ペーストボード名
set ocidPasteboardName to ocidPasteboard's |name|()
log ocidPasteboardName as text
log className() of ocidPasteboardName as text
####テキストを格納
ocidPasteboard's setString:strSampleText forType:(objMe's NSPasteboardTypeString)
log className() of ocidPasteboard as text
###テキストをプレーンテキストで
set ocidReadPasteboard to ocidPasteboard's stringForType:(objMe's NSPasteboardTypeString)
log ocidReadPasteboard as text
log className() of ocidReadPasteboard as text
###解放
ocidPasteboard's releaseGlobally()
###解放したのでocidPasteboardはmissing valueになる
set ocidReadPasteboard to ocidPasteboard's stringForType:(objMe's NSPasteboardTypeString)
log ocidReadPasteboard as text
#########################ログ表示
to doLogView()
tell application "System Events"
set listAppList to title of (every process where background only is false)
end tell
repeat with objAppList in listAppList
set strAppList to objAppList as text
if strAppList is "スクリプトエディタ" then
tell application "Script Editor"
if frontmost is true then
try
tell application "System Events" to click menu item "ログを表示" of menu "表示" of menu bar item "表示" of menu bar 1 of application process "Script Editor"
end try
end if
end tell
end if
end repeat
end doLogView
#########################
| 固定リンク
「NSPasteboard」カテゴリの記事
- クリップボード内のテキストに改行を<br />に変更して戻す 修正(2024.11.15)
- ペーストボードの内容の種類の確認(2024.10.06)
- [NSPasteboard]ペーストボードからテキストの取り出し(修正)(2024.07.02)
- 画像データをクリップボードにPDF形式で入れる(2024.06.28)
- クリップボードの中身で保存可能なものをファイルに保存する(2024.06.23)