前回から続く複数起動シリーズですが、今回はVBScriptを利用して複数のExcelブックをシート指定で同時に起動する方法を紹介します。
もくじ
今回のスクリプト
スクリプトは以下の通りです。
Dim objExcel
' Excelのオブジェクトを作成する
Set objExcel = CreateObject("Excel.Application")
'Excelを見える形で表示させる。
objExcel.Application.Visible = true
' Excelブック①のパスとシート名を選択
objExcel.Workbooks.Open("C:\Users\extan\Documents\excel\test1.xlsx")
objExcel.worksheets("Sheet1").select
'1秒待つ
WScript.Sleep(1000)
' Excelブック②のパスとシート名を選択
objExcel.Workbooks.Open("C:\Users\extan\Documents\excel\test2.xlsx")
objExcel.worksheets("Sheet2").select
'1秒待つ
WScript.Sleep(1000)
' Excelブック③のパスとシート名を選択
objExcel.Workbooks.Open("C:\Users\extan\Documents\excel\test3.xlsx")
objExcel.worksheets("Sheet3").select
Set objExcel = Nothing
実装にあたりVBScriptファイルを作成しましょう
①デスクトップに新規テキストファイルを作成します。
②適当なファイル名を入力し、拡張子を「.txt」から「.vbs」へ変更します。
警告メッセージがでましたら「はい」を押してください。
③テスト用のファイルを任意の場所へ配置します。
サンプルでは「C:\Users\extan\Documents\excel」配下に3ファイルを配置しています。
※環境毎にカレントディレクトリは異なりますので適宜訂正をお願いします。
③そのテキストファイルに上記スクリプトをコピペします。
※シート名は呼び出し先ブックに実存するものを指定してください。
VBScriptを実行する
VBScriptを実行するには作成したファイルをWクリックします。
はい!3ブック起動と各シートの選択ができましたね。
解説
Set objExcel = CreateObject(“Excel.Application”)
Excelのオブジェクトを作成します。
objExcel.Application.Visible = true
VisibleプロパティにTrueを設定することで、Excelが目に見える形で表示されます。
Falseを指定するとExcelは表示されませんがバックグラウンドでは実行状態となります。
objExcel.Workbooks.Open(“C:\Users\extan\Documents\excel\test1.xlsx”)
Excelのパスを指定します。
objExcel.worksheets(“Sheet1”).select
Excel起動後に開きたいシート名を指定します。
WScript.Sleep(1000)
同時にExcelを立ち上げるとPCの負荷が上がりますので1秒づつずらし分散して起動しています。
上記3点をファイル数分繰り返します。
さいごに
いかがでしょうか。
VBSからExcelを操作する内容は起動以外にもセルに値を入れたり、集計したり、ブックのマクロを実行したり多種類の操作が可能です。
今回はDesktop VBSというカテゴリでのご紹介でしたが、デスクトップの活用という点で今後もいろいろな使い方をご紹介していきたいと思います。
コメントを残す