目標
VBScriptを利用してファイルの複製を行えるようになる。
VBScriptを利用して複製するファイルのタイトルを指定できる。
この記事ではVBScriptを利用してファイルの複製を行います。複製後のファイルのタイトルは作成月の翌月を指定します。このスクリプトは例えば「毎月原本ファイルをコピーして月ごとのファイルを作成する」のような事務作業で利用できます。
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」から「NewFile.vbs」へ変更します。
名前変更時に注意を促すダイアログボックスが出てくるので「はい(Y)」をクリックします。
ファイル名が変更されてアイコンの見た目も変わります。
VBScriptのファイルの作成方法については次の記事も参考にしてください。
VBScriptプログラムの記述
「NewFile.vbs」ファイルを右クリックして「編集」をクリックします。
ファイルの中に次のプログラムを記述します。
Option Explicit
Dim objFSO, FileTitle
Set objFSO = WScript.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」をダブルクリックして実行を行いましたがタスクスケジューラなどを利用すると定期に稼働してくれる自動化ツールとして利用できます。
今回の記事は以上です。次回はプログラムの解説の記事となっています。
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。