「clipコマンドを利用してクリップボードに文字列をコピーするVBScript」の応用で、ドラッグ&ドロップされたファイルの内容をクリップボードにコピーするVBScriptです。
下記コードではテキストファイルやCSVファイル、Wordドキュメント等に対応していますが、対応形式は必要に応じて追加することができます。
Option Explicit Dim Args Dim Cmd Set Args = WScript.Arguments If Args.Count < 1 Then WScript.Echo "当スクリプトにファイルをドラッグ&ドロップして処理を実行してください。" WScript.Quit End If With CreateObject("Scripting.FileSystemObject") Select Case LCase(.GetExtensionName(Args(0))) '対応形式は適宜追加 Case "txt", "csv", "vbs", "js", "ini", "php", "cgi", "htm", "html", "xml", "css" Cmd = "cmd /c ""clip < """"""" & Args(0) & """""""""" CreateObject("WScript.Shell").Run Cmd, 0 'Wordドキュメントの場合 Case "doc", "docx", "docm", "rtf" CopyWordDocument Args(0) Case Else If Len(.GetExtensionName(Args(0))) < 1 Then If Lcase(TypeName(Args(0))) = "string" Then Cmd = "cmd /c ""echo " & Args(0) & "| clip""" CreateObject("WScript.Shell").Run Cmd, 0 End If Else WScript.Echo "未対応のファイル形式です。" WScript.Quit End If End Select End With Set Args = Nothing WScript.Echo "内容をクリップボードにコピーしました。" Private Sub CopyWordDocument(ByVal FilePath) 'Wordドキュメントのコピー With CreateObject("Word.Application") .Visible = False With .Documents.Open(FilePath, False, True) .Content.Copy .Close 0 End With .Quit 0 End With End Sub
「cscript (ファイル名).vbs ABC」のようにコマンドプロンプトから引数として文字列を渡すこともできます。
この記事へのコメントはありません。