「クリップボード」を作ってみた
「クリップボード」ライブラリを作ってみました。
隙間産業でなかなかの出来なので、お裾分けです。
作ったライブラリ
- クリップボードへ値を設定
- クリップボードの値を取得
きっかけのスレッド
使用感
- 機能、使いかた、速度:いずれもノードの「クリップボード」と同等
※ 使い始めて間もないので、気づきは随時追記予定
想定シーン
- Ver.7系で、ノードの「クリップボード」で値の設定に失敗したとき、試行錯誤のバリエーションの1つとして
-
かわっちさんの考察が深いです。
https://winactor.com/questions/?q=【対処方法】クリップボードに値へ設定するときのエラーについて
-
- ノードの「クリップボード」を配置する際に、いつも設定と取得で迷う
淡い期待
「クリップボード」の0.1秒間隔の動作周期が、Ver.7系で.Netの周期と同期しちゃうことが遠因
- VBSとかコマンド方面からなら(WinActorの外部からなら)、バッティングしなくて済むのではなかろうか
ライブラリの作りかた
「スクリプト実行」にスクリプトをコピります。
適宜このへんも眺めてください。
https://winactor.com/questions/question/vbsをwinactorライブラリに加工する方法/
「クリップボードへ値を設定」のスクリプト
※ 太字以外はリファレンスサイトからの引用です。
' 引数 str をクリップボードにコピーする
str = !設定値!
PutInClipboardText(str)Sub PutInClipboardText(ByVal str)
'Dim cmd
cmd = "cmd /c ""echo " & str & "| clip"""
CreateObject("WScript.Shell").Run cmd, 0
End Sub
「クリップボードの値を取得」のスクリプト
※ 太字以外はリファレンスサイトからの引用です。
' クリップボードのテキストを取得する
SetUMSVariable $取得結果$ , GetClipboardText
Function GetClipboardText()
'Dim objHTML
Set objHTML = CreateObject("htmlfile")
GetClipboardText = Trim(objHTML.ParentWindow.ClipboardData.GetData("text"))
End Function
リファレンス
VBScript でクリップボードのデータを扱う
http://osanai.org/47/
権利関係
以前に調べた内容を踏まえると、権利的な問題は発生し得ない認識です。
https://winactor.com/questions/question/スクリプトの権利について、本気出して調べてみ/