【VBScript】クリップボードの読み込みと書き出し


この記事はプロモーションを含みます。

VBScript

ホーム > VBScript 逆引きリファレンス

VBScriptで、クリップボードに格納されている情報の取得とクリップボードへの情報の書き込みを行う方法を解説します。

クリップボードから情報を取得

クリップボードに格納されている文字列情報を取得する関数になります。

Option Explicit

' 関数の呼び出し
MsgBox(getClipboard())

' 処理終了
WScript.Quit

' クリップボードに格納されている文字列情報の取得関数
Function getClipboard()
	Dim objHTML
	Set objHTML = CreateObject("htmlfile")
	getClipboard = Trim(objHTML.ParentWindow.ClipboardData.GetData("text"))
	Set objHTML = Nothing
End Function

実行すると、クリップボードに文字列が格納されている場合は、その文字列がメッセージボックスに表示されます。

文字列以外が格納されている場合は下記のようなエラーとなるため注意が必要です。
実際に使用する際はエラーハンドリングを付けた方が良さそうですね。

クリップボードへ情報の登録

関数に渡した文字列情報をクリップボードに格納する関数になります。

Option Explicit

' 関数の呼び出し
setClipboard("クリップボードに登録する文字列")

' 処理終了
WScript.Quit

' クリップボードへ文字列情報を登録する関数
Function setClipboard(ByVal str)
	Dim cmd, objShell
	cmd = "cmd /c ""echo " & str & "| clip"""
	Set objShell = CreateObject("WScript.Shell")
	objShell.Run cmd, 0
	Set objShell = Nothing
End Function

実行すると、関数に渡した「クリップボードに登録する文字列」がクリップボードに格納されます。

クリップボードに格納された文字列には末尾に「改行」を含んでいるため、必要に応じて改行を削除して下さい。

記事は以上です。
他にも VBScript のサンプルが豊富な逆引きリファレンスも用意しているので是非ご覧ください!

コメント

タイトルとURLをコピーしました