「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」のようにコマンドプロンプトから引数として文字列を渡すこともできます。

















この記事へのコメントはありません。