02-VBScript

VBScript、Windows10のエクスプローラーの学習とタスクスケジューラを使った自動化ツールの作成(2)| 現役エンジニア&プログラミングスクール講師

VBScriptを学びたい方はVBAの記事も参考にしてみてください。

Excel VBA まとめ | 現役エンジニア&プログラミングスクール講師ExcelVBAのまとめ記事です。VBAの始め方から、オブジェクトや変数、制御構文などプロシージャのサンプルを作成して解説しています。まとめページの下部には「おすすめの学習書籍」「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

目標

  • VBScriptの概要を理解してファイルを作成・編集できる
  • 作成するVBScriptプログラムの中身を理解できる
  • VBScriptファイルを実行する
    (※実行するプログラムは準備したExcelファイルを開くといったものです。)

VBScriptの概要と利用方法

VBScriptの概要

VBScriptとは

VBScriptはMicrosoft社が作成したプログラミング言語です。この言語はWindowsOS上で動作します。特徴として環境の構築が必要なく、コンパイル不要で作成も容易なことがあげられます。また文法もVisual Basicとほとんど一緒なのでVBA学習者などもとっかかりやすい言語となっています。特に業務効率化のために使用されています。

以前はInternet Explorerで動作させることが出来ていましたが、ブラウザで動作する言語としてはJavaScritpがスタンダードとなったことから、現在ではブラウザで動作させることは出来なくなりました。

最近ではPower Shellなどの代替ツールもありますが、VBScriptの需要は今後もあり続けると考えられています。

VBScriptの利用方法

VBScriptのファイル作成

VBScriptのファイルは通常のファイル作成と同じ方法で行います。

手順1.デスクトップの何もないところ(下キャプチャの赤丸)で右クリックをして「新規作成」>「テキストドキュメント」とクリックします。

「新しいテキストドキュメント.txt」が作成されます。

手順2.「新しいテキストドキュメント.txt」の名前を拡張子が「.vbs」のファイルへ変更します。ここでは「test.vbs」と変更しています。

拡張子を「.vbs」とするとファイルの形式がテキストからVBScript用のファイルに変換されます。

手順3.「拡張子を変更すると、ファイルを使えなくなる可能性があります。」と警告が出ますが、問題ないので「はい」を選択します。

ファイルのアイコンが変化します。これでファイルの形式が変わりました。

以上でVBScriptのファイルの作成は完了です。

VBScriptを編集する

VBScriptのファイルの上で右クリックして「編集」をクリックします。

VBScriptのファイルはダブルクリックしても編集はできません。

ダブルクリックをするとファイルに書かれたスクリプトを起動することになるのでダブルクリックしないように注意して下さい。

プログラムの記述

次のようにプログラムを記述します。

Option Explicit

Dim ExcelObj
Set ExcelObj = CreateObject("Excel.Application")
ExcelObj.Application.Visible = true
ExcelObj.Workbooks.Open("エクスプローラーから取得したパスを添付")
Set ExcelObj = Nothing

「ExcelObj.Workbooks.Open(“エクスプローラーから取得したパスを添付“)」の引数部分「エクスプローラーから取得したパスを添付」にはエクスプローラーから取得したパスを入力していきます。

このVBScriptは上記のパス部分に設定されたファイルを開くといったプログラムになっています。

起動するファイルのパスをエクスプローラーから取得します。

エクスプローラーを開き、適当なファイルを選択します。この記事では「test.xlsx」というファイルを作成して選択をしています。(開かない状態で選択のみ)

補足:Excelをアプリケーションから起動して新規ファイルを作成しデスクトップに「test.xlsx」の名前で保存します。(作成後:下キャプチャ)

選択をしたらファイルタブ内のリボンにある「パスのコピー」をクリックします。

プログラム内の(“エクスプローラーから取得したパスを添付“)部分で「Ctrl」+「V」押して貼り付けます。

(“C:\Users\■■■■\Desktop\test.xlsx”)のような文字列が添付されます。

ダブルクォーテーションが付いていることも重要なポイントです。
下は貼り付け後のプログラムです。ExcelObj.Workbooks.Open(“C:\Users\■■■■\Desktop\test.xlsx”)

プログラムの解説

プログラムの解説

「Option Explicit」

「Option Explicit」は変数の宣言を強制させるステートメントです。プログラムの中で宣言されてない変数が利用されることを防げます。宣言されていない変数が利用されるとプログラムの可読性が低下します。

「Dim ExcelObj」

「Dim ExcelObj」Excelアプリケーションオブジェクトを格納するために変数を準備します。名前は自由に付けれます。

VBScriptは動的型付けなので型を指定はしません。この点はVBAと異なる部分となります。

「Set ExcelObj = CreateObject(“Excel.Application”)」

「CreateObject(“Excel.Application”)」でExcel.Applicationオブジェクトの生成をしています。

続けて「Set ExcelObj = オブジェクト」として「Excelのアプリケーションオブジェクト」を変数に格納しています。

変数には数値や文字列のような値以外にも「属性(変数)」や「処理(メソッド)」を複数まとめた「オブジェクト」が格納可能です。

「ExcelObj.Application.Visible = true」

「ExcelObj.Application.Visible = true」とすることでExcelのアプリケーションオブジェクトが持っているプロパティ「.Application.Visible」をtrueにすることができます。

エクセルファイルの開き方には「人が目で見て確認できる状態」と「ファイルは起動しているが見えない状態」の二種類の方法で開くことが可能です。

「ファイルは起動しているが見えない状態」とはVBAなどを自動処理で稼働させるときなど人がファイルを見る必要がない場合などが該当します。

「ExcelObj.Workbooks.Open(“パス”)」

「ExcelObj.Workbooks.Open(“C:\Users\■■■■\Desktop\test.xlsx”)」でExcelのアプリケーションオブジェクトが持っているメソッド「.Workbooks.Open」を利用してファイルを開きます。Excelブックのパスはエクスプローラーからコピーして貼り付けします。今回はフルパスで記述しています。

「Set オブジェクト = Nothing」

「Set オブジェクト = Nothing」でオブジェクトを格納したメモリを開放します。これはオブジェクトが利用しているメモリ領域について空にする作業です。

プログラムの稼働を終えた後は、ExcelObjのようなオブジェクトはパソコン上で使用されることはない(邪魔になる)のでメモリを開放します。

VBScriptの実行

VBScriptをダブルクリックしてEcxelファイル「test.xlsx」を開く

VBScriptをダブルクリックします。

「test.xlsx」が開いたのが確認できます。

以上で今回の記事は終了です。次回は今回作成したVBScriptのファイルをタスクスケジューラに登録して自動で起動するように設定を行っていきます。

初心者も実践で通用!「VBA・VBS」おすすめ書籍5選 | 現役エンジニア&プログラミングスクール講師「VBA・VBS」初心者の方が実践業務の中でそれらを活用しt活躍できるために必要な知識を習得できる書籍を紹介しています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】| 現役エンジニア&プログラミングスクール講師「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST
01-VBA

VBScriptを利用したファイルの複製(Part.3)| 現役エンジニア&プログラミングスクール講師

2023年2月13日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
02-VBScript

VBScriptを利用したファイルの複製(Windows11)(Part.2) | 現役エンジニア&プログラミングスクール講師

2023年2月12日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

VBScriptを利用したVBAプロシージャの呼び出し(Part.1)| 現役エンジニア&プログラミングスクール講師

2023年2月14日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
02-VBScript

VBScript & WSH(Windows Script Host)まとめ | 現役エンジニア&プログラミングスクール講師

2022年11月3日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
02-VBScript

VBScript、Windows10のエクスプローラーの学習とタスクスケジューラを使った自動化ツールの作成(4)| 現役エンジニア&プログラミングスクール講師

2022年4月14日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

VBScriptを利用したVBAプロシージャの呼び出し(Part.2)| 現役エンジニア&プログラミングスクール講師

2023年2月15日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site