今回はVBScriptのWshShellオブジェクトを使用して複数のフォルダを同時に起動する方法を紹介します。
もくじ
今回のスクリプト
スクリプトは以下の通りです。
Dim objFolder
'WshShellのオブジェクトを作成する
Set objFolder = WScript.CreateObject ("Shell.Application")
'Exploreメソッドの引数にパスを指定する
objFolder.Explore "C:\Users\extan\Documents\excel"
objFolder.Explore "C:\Users\extan\Documents\outlook_temp"
Set objFolder = Nothing
実装にあたりVBScriptファイルを作成しましょう
①デスクトップに新規テキストファイルを作成します。
②適当なファイル名を入力し、拡張子を「.txt」から「.vbs」へ変更します。
警告メッセージがでましたら「はい」を押してください。
③開きたいフォルダのパスを指定します。
サンプルでは「C:\Users\extan\Documents\excel」、「C:\Users\extan\Documents\outlook_temp」が指定されていますが、適宜変更をお願いします。
④テキストファイルに上記スクリプトをコピペします。
※シート名は呼び出し先ブックに実存するものを指定してください。
VBScriptを実行する
VBScriptを実行するには作成したファイルをWクリックします。
はい!複数のフォルダが起動できました。
解説
Set objFolder = WScript.CreateObject (“Shell.Application”)
WshShellのオブジェクトを作成します。
objFolder.Explore “C:\Users\extan\Documents\excel”
objFolder.Explore “C:\Users\extan\Documents\outlook_temp”
Exploreメソッドの引数へフォルダのパスを指定します。追加すれば3件以上も可能です。
objExcel.worksheets(“Sheet1”).select
Excel起動後に開きたいシート名を指定します。
【おまけ】別の方法
WScriptオブジェクトを利用する方法で同じようにフォルダを開くことが可能です。
explorer.exeを都度実行するので上記よりは効率が悪いかもしれませんが、ご参考ください。
Dim objFolder
'WScriptのオブジェクトを作成する
Set objFolder = WScript.CreateObject("WScript.Shell")
'エクスプローラーを起動し、パスを渡す
objFolder.Run "explorer.exe /select,""C:\Users\extan\Documents\excel"""
objFolder.Run "explorer.exe /select,""C:\Users\extan\Documents\outlook_temp"""
Set objFolder = Nothing
さいごに
いかがでしょうか。
Shellオブジェクトを利用したスクリプトということで、windowsのテクニックとしては古典的な方法となりますが、オプションが豊富で今でも通用する便利な使い方がまだまだありますので、今後も載せていきたいと思います。
コメントを残す