VBScript

ドラッグ&ドロップされたファイルの内容をクリップボードにコピーするVBScript

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

関連記事

  1. Windows関連

    右クリックメニューからフォルダを管理者権限で開く(コマンド プロンプト)

    フォルダをShiftキーを押しながら右クリックすると、「コマンド ウィ…

  2. VBScript

    指定したフォルダ内で最も更新日時の新しいファイルのパスを取得するVBScript

    大量のログファイルから最新のファイルのみを取得する必要があったので、簡…

  3. VBScript

    Acrobatを使ってPDFファイルを結合するVBScript

    「Acrobat PDF 結合 コマンドライン」といったキーワード検索…

  4. Windows 10

    Microsoft Edgeを操作するVBScript

    「Microsoft Edgeを操作するVBAマクロ(WebDrive…

  5. Windows関連

    ダウンロードフォルダーのパスを取得するVBScript

    ダウンロードフォルダーのパスを取得する必要があったので、過去に書いた記…

  6. Windows 10

    AppUserModelId(AUMID)を列挙するVBScript

    「「ファイル名を指定して実行」からMicrosoft Edgeを起動す…

コメント

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

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP