「ファイル1.xlsx」というファイルを別のバックアップフォルダにコピーして、
「ファイル1_20210327_1839_〇〇.xlsx」という名前にすることがよくあります。「_20210327_1839」は年月日、時分です。〇〇はコメント。
私は小心者なのでしょっちゅうバックアップを取るのです。
Ctrl + Sをしばらく押してなくて、エクセルがフリーズしてファイルが復旧できなくなった、新方式を試していたがやっぱり過去のやり方でないとだめだった、とかいろんなことが発生しますので。
■問題点
ファイルをバックアップして、日時を手動入力するのが毎回めんどい
■記事を読む価値
ファイル名に日時をつけるのが超楽になる。
■VBS
------------------------------------------------------------------------
Option Explicit
Dim objFileSys
Dim strDate
Dim sPath
Dim oFile
Dim Ary
Dim sExt '拡張子
Dim sNewName
Dim sComment
Set objFileSys = CreateObject("Scripting.FileSystemObject")
sPath = Wscript.Arguments(0) 'ドロップしたファイルのパス
'日時を取得(YYYYMMDD_hhmmss)
strDate = replace(replace(replace(now,"/",""),":","")," ","_")
'10時前の場合、0を付与する
If len(strDate) = 14 Then
strDate = Left(strDate , 9) & "0" & right(strDate , 5)
End If
strDate = Left(strDate,13) 'YYYYMMDD_hhmmにする
'●コメント
sComment = InputBox("コメントをどうぞ","")
If sComment <> "" Then
sComment = "_" & sComment
End If
'●拡張子を取得
Ary = Split(sPath , ".")
sExt = Ary(Ubound(Ary))
'●ファイルを取得
Set oFile = objFileSys.GetFile(sPath)
'●新ファイル名
sNewName = Replace(oFile.Name , "." & sExt , "_" & strDate & sComment & "." & sExt)
'●ファイル名変更
oFile.Name = sNewName
'後片付け
Set objFileSys = Nothing
Set oFile = Nothing
------------------------------------------------------------------------
■使い方
このVBScriptを「ファイル名に日時付与.vbs」という名前で保存します。
■実行方法①
ファイルをこの「ファイル名に日時付与.vbs」にドラッグ&ドロップ
■実行方法②
a. 以下のフォルダに「ファイル名に日時付与.vbs」そのものか、ショートカットを置いておきます。
C:\Users\[USERID]\AppData\Roaming\Microsoft\Windows\SendTo
b. 日時をつけたいファイルを右クリックし、「送る」-「ファイル名に日時付与.vbs」を選択
以下のダイアログが表示されるので、コメントが何かあれば入れOKボタンを押す。
※何も入れなくてもよい。キャンセルボタン押下は空白のままOKボタン押下と同じ動作です。
ファイル名に _年月日_時分_コメント が付与されます。
私は実行方法②の方でよく使っています。