Lesaria の Multiple-Choice

最近、本買いログがメインになっています。たまにPCやガジェットに関して記事にします。

VBScript で 今日の日付で テンプレートファイルをコピー、ついでにエディタで開きたかったんじゃ。(サンプルコード有り)

何コレ?

 一年前作成した「毎日毎日、日記のため、日報のため、作業記録のため、日付だけ変えて同じ名前のファイルを作るのに飽き飽きしてきたので、VBSで代替することにしました。」のその2です。自分では使ってたんですが面倒で公開してませんでした(笑

 今回はテンプレートを指定したフォルダから今日の日付でコピー。ついでにファイルを開いてくれるもの前回のファイル作成と同じです。同名ファイルが既にあれば、上書きせずに開いてくれます。やってる事の都合上、TXTファイル以外でも対応可能です。

サンプルコードとして晒します。

 このまま利用する場合、コードの部分をテキストエディタにコピーして拡張子「.vbs」で保存してください。

 

備考

 ファイルが作成されるフォルダは、スクリプトを実行したフォルダになります。スクリプトを別の場所から呼び出す場合はショートカットを利用していただければ良いと思います。自分はWindows10 64bit 環境で作成しました。

免責に関して

 悪意を持ってスクリプトを書いてはいませんが、このスクリプトを参照、利用して発生したあらゆる損害は免責されるものとします。このスクリプトを利用された時点でこの免責事項を承諾されたものとみなします。当然ですが、当スクリプトを改変の上利用された場合も同様に免責されます。

 

'■■■変数部■■■
Dim fileName
Dim strDate

'■■■設定部■■■
'□ ダイアログ表示(False = 表示しない True = する)
Dim msgFlag :msgFlag= True

'□ ファイル名頭
Dim fileNameCrown :fileNameCrown = ""

'□ ファイル名尻
Dim fileNameTail :fileNameTail = "■日記"

'□ ファイル名拡張子
Dim fileNameSuffix :fileNameSuffix = ".txt"

'□ テンプレート(Copy元)ファイル
Dim fileTemplate :fileTemplate =".\template\template.txt"

'出力形式↓
'Crown + yyyymmdd + Tail + Suffix

'■■■処理部■■■
'日付取得&'日付文字列化
strDate = Date()

'日付フォーマット変更
strDate = Replace(strDate, "/", "-")

'ファイル名合成
'FileName
fileName = fileNameCrown & strDate & fileNameTail & fileNameSuffix



'ファイル操作準備
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")



If FSO.FileExists(fileName) Then
	'存在すれば何もしない
	'作成しなかった旨ダイアログで出す。
	If msgFlag Then
		WScript.Echo "ファイルが存在します。" & VbCrLf & "「" & fileName & "」"
	End If
Else
	'ファイル存在しなければコピー
	Call FSO.CopyFile(fileTemplate, fileName, false)
	'作成の成功ダイアログで出す
	If msgFlag Then
		WScript.Echo "テンプレートをコピーしました。" & VbCrLf & "「" & fileName & "」"	
	End If
End If


'ファイル操作後処理
  Set FSO = Nothing


'作成したファイルを開く
CreateObject("Shell.Application").ShellExecute fileName

    

 

 

 

 

 

 ↓ 冒頭で言及した「その1」、TXTファイルをVBSでクリエイトするバージョンです

multiplechoice.hatenablog.com

最速攻略 VBScriptサンプル大全集

最速攻略 VBScriptサンプル大全集