SIerでSEではない仕事をしています、ねこどんです🐾
仕事上、毎日決まった作業をしなくてはならなくて、その都度ブラウザを立ち上げてページをいくつも開くのは面倒だと思いました。
そこで役立つVBScriptです。
え~何それと思う方もいるかもですが、ここに来る方ならおそらく知っているはず。
マイクロソフトのスクリプト言語です。
ということで、WindowsのPCを使っている方向けに、VBSでChromeとIEで複数タブを起動できるコードを載せておきますね。
VBSでChromeとIEで複数タブを起動できるコード
Option Explicit Dim objCR 'WshShellオブジェクトのオブジェクトを作成する Set objCR = WScript.CreateObject("WSCript.shell") 'chrome.exeを表示し、URLを引数で渡す objCR.run """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"" ""URL1"" ""URL2""" Dim objIE 'IEのオブジェクトを作成する set objIE = CreateObject("InternetExplorer.Application") 'IEを見える形で表示する objIE.Visible = True 'URLを新規ウィンドウで開く objIE.Navigate "URL" 'URLを新規タブで開く objIE.Navigate2 "URL2",&H800 Set objIE = Nothing
上記のコードをメモ帳に張り付けて、「名前を付けて保存」⇒拡張子を「.vbs」にすればOKです。
「Option Explicit」を一番最初に書いといてください。変数の宣言をしなければ使えないおまじないです。
あとは使いたいときにファイルをクリックすれば実行されます。
私はC直下に「Script」フォルダを作っていて、その中に入ってます。
それで、ショートカットをデスクトップに置いていますね。
VBSでChromeだけ複数タブ起動させる
ChromeとIEって微妙に書き方違うんですよね。
念のため、Chromeの部分とIEの部分を分けて載せておきます。
Dim objCR 'WshShellオブジェクトのオブジェクトを作成する Set objCR = WScript.CreateObject("WSCript.shell") 'chrome.exeを表示し、URLを引数で渡す objCR.run """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"" ""URL1"" ""URL2"""
冒頭の「Dim objCR」が変数の宣言です。
Chromeの複数タブ起動の部分は、一行で書けてしまうのです。
IEだとNavigateを使いますが、Chromeの場合はrunです。
「objCR.run」の後にchrome.exeのパスを書いた後、表示させたいページのURLをいくらでも引数として渡せます。便利~
VBSでIEだけ複数タブ起動させる
Chromeは便利ですが、IEはめんどいです。
Dim objIE 'IEのオブジェクトを作成する set objIE = CreateObject("InternetExplorer.Application") 'IEを見える形で表示する objIE.Visible = True 'URLを新規ウィンドウで開く objIE.Navigate "URL" 'URLを新規タブで開く objIE.Navigate2 "URL2",&H800 Set objIE = Nothing
IEだとオブジェクト作成後、まず我々ユーザーに見える状態にしなければなりません。
その後、objIE.NavigateでURLを新規ウィンドウで開きます。
複数タブを開きたい場合は、objIE.Navigate2でURLを書いた後、「,」で区切り、「&;H800」を加える必要があります。
3つ目以降のタブも2つ目のタブと同様の書き方でOKです。
VBSの複数タブ起動で仕事効率化まとめ
大体こんなことを書いてました。
- VBSはメモ帳に書いて「.vbs」で保存します
- Option Explicit:変数の宣言を強制する
- Dim 変数名:変数の宣言
- オブジェクトを作る⇒起動⇒URLを渡す
よく知らんでもコピペしちゃえば使えちゃうので、ちょっとでも業務を短縮したい方は是非。
コメント