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. VBScript

    実行中のアプリケーション一覧を出力するVBScript

    「VBS アプリ一覧 出力」というキーワード検索での訪問があったので、…

  2. VBScript

    ショートカットファイルを作成するVBScript

    ショートカットファイル(拡張子:lnk)を作成するVBScriptです…

  3. VBScript

    [クライアント管理]WMI Explorerの紹介

    端末のハードウェア情報やインストールされているソフトウェアなどを調べる…

  4. VBScript

    Windowsのバージョン情報を取得する

    小ネタです。verコマンドを利用してWindowsのバージ…

  5. VBScript

    Office付属のVBEでVBScriptコードを書くのを助けるVBScript

    VBScriptのコードを書くとき、メモ帳等のテキストエディタではイン…

  6. VBScript

    Adobe Illustratorを操作するVBScript

    Acrobatと同様にタイプライブラリが用意されているため、VBAやV…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP