目標
VBScriptを利用してファイルの複製を行えるようになる。
VBScriptを利用して複製するファイルのタイトルを指定できる。
VBScriptを利用してVBAのプロシージャを呼び出せる
この記事ではVBScriptを利用して原本ファイルの複製を行います。複製後のファイルのタイトルは作成月の翌月を指定します。このスクリプトを利用して毎月1日に原本ファイルをコピーして当月のファイルを自動生成するといった処理を行わせます。
VBScriptプログラムの利用前の準備
VBScriptプログラムの利用前の準備
VBScriptのプログラムを利用するにあたり今回は次の2つのフォルダを準備します。
①VBScriptのファイルを設置しておくフォルダ(「ORIGINALFILE」)です。
②VBScriptがプログラム内で利用するフォルダ(「WORKSPACE」)です。
以下の手順で環境を整えます。
- デスクトップに「WORKSPACE」フォルダを作成する。
- デスクトップに「ORIGINALFILE」フォルダを作成する。
- 「ORIGINALFILE」フォルダにNewFile.vbsを置く
- 「ORIGINALFILE」フォルダにsamlpe.xlsmを置く
記事では複製するファイルにマクロファイルを使用していますが、普通のエクセルファイルやテキストファイルであっても構いません。その場合はプログラム内の拡張子の変更も必要になりますので注意してください。
「WORKSPACE」フォルダの作成
デスクトップ上に「WORKSPACE」フォルダを作成します。
デスクトップ上の任意の箇所で右クリックして「新規作成」から「フォルダー」をクリックします。

フォルダ名を「新しいフォルダー」から「WORKSPACE」に変更します。

これでWORKSPACEフォルダの準備は終わりです。
「ORIGINALFILE」フォルダの作成
「WORKSPACE」フォルダと同様の手順で「ORIGINALFILE」フォルダを準備します。

「NewFile.vbs」の作成
「ORIGINALFILE」フォルダをダブルクリックしてフォルダを開きます。

「ORIGINALFILE」フォルダ内で新規ファイルを作成します。
エクスプローラー内の左上にある「新規作成」をクリックして展開されたメニューから「テキスト ドキュメント」をクリックします。

「新規 テキスト ドキュメント.txt」のファイルが作成されます。ファイルの名前を「新規 テキスト ドキュメント.txt」から「NewFile.vbs」へ変更します。

名前変更時に注意を促すダイアログボックスが出てくるので「はい(Y)」をクリックします。

ファイル名が変更されてアイコンの見た目も変わります。

Windows10でのVBScriptのファイルの作成方法については次の記事を参考にしてください。
-2-320x180.jpg)
VBScriptプログラムの記述
「NewFile.vbs」ファイルを右クリックして「プログラムから開く」を選択し「メモ帳」もしくは「Visual Studio Code 等の開発用エディタ」をクリックします。今回はメモ帳を使用しています。

メモ帳を選択するとメモ帳が表示されます。

ファイルの中に次のプログラムを記述します。
Option Explicit
Dim objFSO, FileTitle
Set objFSO = CreateObject( "Scripting.FileSystemObject" )
'-------- 日付を取得--------
FileTitle = Date
FileTitle = mid(FileTitle,1,4) & mid(FileTitle,6,2)
'------- 原本から新規のファイルを作成 --------
If (objFSO.FileExists("..\WORKSPACE\" & FileTitle & ".xlsm") = False) Then
objFSO.CopyFile ".\sample.xlsm" , "..\WORKSPACE\" & FileTitle & ".xlsm"
End If
Set objFSO = Nothing
メモ帳で記述すると次のようになります。

記述したら「Ctrl + S」で保存します。(もしくはファイルタブから保存)
※Visual Studio Codeなどがあればファイルはそちらで開くのがお勧めです。

「NewFile.vbs」ファイルを閉じます。これで「NewFile.vbs」の準備は終わりです。
「samlpe.xlsm」の作成
「ORIGINALFILE」フォルダ内でエクセルファイルを作成します。

名前を「新規 Microsoft Excel ワークシート.xlsx」から「sample.xlsm」に変更します。

名前変更時に注意を促すダイアログボックスが出てくるので「はい(Y)」をクリックします。

これで「ORIGINALFILE」フォルダ内に2つのファイルが準備できました。

これですべての準備が完了です。
VBScriptプログラムの利用
NewFile.vbsを動かしてみる
「NewFile.vbs」をダブルクリックします。見た目には何も変化はありませんが、「WORKSPACE」フォルダを確認してみるとsample.xlsmのコピーが「西暦+月」のタイトル名で作成されています。

今回は「NewFile.vbs」をダブルクリックして実行を行いましたがタスクスケジューラなどを利用すると定期に稼働してくれる自動化ツールとして利用できます。
-3-320x180.jpg)
今回の記事は以上です。次回はプログラムの解説の記事となっています。
VBAのユーザーフォームの記事へはこちらのボタンをご利用ください。

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

