VBScriptで複数のファイル・フォルダ・アプリケーションをダブルクリック一発で開く方法


こんにちは!あつもり(@atumori17)です。

前回はVBScriptを使ってメッセージボックスに現在の時刻を表示させてみました。

初心者でも簡単プログラムでWindowsの効率化!VBScriptをやってみよう
特別なアプリケーションのインストール不要。初心者向けのプログラミング言語VBScriptの紹介です。VBScriptの概要から、実際にプログラムをしてメッセージボックスを表示させるところまでの説明です。VBScriptを使うWindowsの業務効率化に役立ちます。

今回はVBScriptで複数のファイルやフォルダ、アプリケーションをダブルクリック1発で起動する方法を紹介します。

朝一番、デスクに座ってパソコンを立ち上げて、メールソフト、インタネットブラウザを立ち上げて、日報フォルダを開いて・・・というようにだいたい毎日決まった作業をしませんか?それならばワンクリックで複数のファイルやアプリケーションが開いたら便利だと思いませんか?

スポンサーリンク

複数のファイルやアプリケーションを開くスクリプト

テキストエディタ開き下記のコードを入力します。全て入力し終わったら「複数ファイル1発起動.vbs」などのファイル名でデスクトップに保存します。

Option Explicit
Dim objWshShell
'シェルオブジェクトの作成
Set objWshShell = WScript.CreateObject("WScript.Shell")
'シェルの実行
objWshShell.Run "C:\Users\atumori\Desktop\週報"
objWshShell.Run """C:\Program Files (x86)\SoundEngine Free\SoundEngine.exe"""
objWshShell.Run "C:\Users\atumori\Desktop\2017年6月残業.xls"

プログラムコードの解説

変数宣言を強制する

プログラムの一番最初の行に

Option Explicit

と書くことで変数を宣言しない場合にメッセージボックスで警告を出すことができます。

変数をタイプミスしたときに、宣言されていない変数として警告を出してくれるのでとっても便利です。

変数を宣言していない場合、プログラムの実行時に以下のようなメッセージが表示されます。

Dimで変数を宣言する

次の行で作成するWshShellオブジェクトの変数を宣言します。VBScriptで変数を宣言するときにはDimステートメントを使います。

書きかたは以下の通りです。

Dim 変数名

今回のプログラムでは

Option Explicit
Dim objWshShell

としていますから、「objWshShell」という変数を宣言したということになりますね。ちなみにVBAのように変数名の後にデータ型を指定することはできません。

WshShellオブジェクトを作成してセットする

Set 変数名 = WScript.CreateObject(“WScript.Shell”)

このようにWshShellオブジェクトを作成すると、VBScript上でシェルが使えるようになります。

シェルとはWindowsが持っている機能を使うためのプログラムのようなものです。シェルを使うことでフォルダを開いたり、コントロールパネルを開いたり、アプリケーションやファイルのショートカットを作ったりすることができるようになります。

 

Runメソッドで実行する

WshShellオブジェクト.Run ファイルパス

WshShellオブジェクト.Runはファイルやフォルダ、アプリケーションを開くためのメソッドです。

空白を含むパスは注意が必要

Runメソッドで指定するファイルパスですが、空白を含むパスの場合注意が必要です。空白を含むパスの場合は下記のように、ダブルクォテーションを3つ続けて記述します。

“””C:\Program Files (x86)\SoundEngine Free\SoundEngine.exe”””

プログラム上に直接書き込んだ文字をリテラルと呼びます。この場合、C:\Program Files (x86)\SoundEngine Free\SoundEngine.exeがリテラルです。

リテラルに空白を使用するときは、左右をダブルクォーテーション3つで囲むというルールがあります。こうしないと下図のようなエラー内容のメッセージボックスが表示されます。

フォルダのパスの調べ方

Runメソッドで指定するフォルダやファイルパスの調べ方です。

フォルダを右クリックしプロパティを選択します。

「セキュリティ」タブをクリックして「オブジェクト名」のあとに書かれたフォルダのパスを選択します。右クリックしてコピーを選択します。

フォルダのパスを下記のようにしてダブルクォーテーションの中に貼り付けます。

objWshShell.Run “C:\Users\atumori\Desktop\週報

プログラムの説明は以上になります。

アプリケーションを実行してみる

では実際に起動してみます。デスクトップにある「複数ファイル1発起動.vbs」をダブルクリックして起動します。さきほどRunメソッド指定したファイルやアプリケーションが開きました。

まとめ

いかかでしたか?今回の内容をまとめると以下のようになります。

  • VBScriptで複数のフォルダやアプリケーションを1発で起動できると便利
  • シェルオブジェクトのrunコマンドを使えばフォルダやファイルが開ける
  • リテラルに空白を使うときはダブルクォテーション3つで囲む

用途別に起動ファイルを作っておけば、業務ごとに使い分けられるので便利です。また曜日によって起動するアプリケーションを変えるなんてこともできます。
次回は「VBScriptで曜日によって起動プログラムを変える方法」をご紹介します。お楽しみに~。

VBScriptで曜日ごとに起動するファイルやフォルダ、アプリケーションを変える
VBScriptを使って曜日ごとに起動するファイルやアプリケ-ションを変えることができたら便利だと思いませんか?Select Case文とWeekday関数を使って曜日ごとに起動するファイルを変える方法を紹介します。

連載目次:初心者でも簡単!VBScriptでWindows効率化

Windowsを操作できるプログラミング言語「VBScript」を使って、日々の業務効率化! テキストエディタで簡単にできますので初心者にもおすすめです。
  1. 初心者でも簡単プログラムでWindowsの効率化!VBScriptをやってみよう
  2. VBScriptで複数のファイル・フォルダ・アプリケーションをダブルクリック一発で開く方法
  3. VBScriptで曜日ごとに起動するファイルやフォルダ、アプリケーションを変える
  4. VBScriptでドラッグアンドドロップしてファイルのフルパスを取得する方法
  5. VBScriptでドラッグアンドドロップで複数ファイルのフルパスをCSVに書き出す

コメント

  1. 丸橋良郎 より:

    ExcelVBAで.txt,.xlsx,.docxwを一発で開くマクロは作成できたのですが、このスクリプトではExcelは起動するのですがファイルが開きません。

    • あつもり より:

      コメントありがとうございます。

      解決策ですが、以下のようにしてRunメソッドの第3引数にTrueを指定することで上手くいくかと思います。
      objWshShell.Run “C:\Users\test\Desktop\test.xls”,,True

      試してみてください。

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