|
▼YN61 さん:
>突然ですみません、貴殿のコードで小生もファイル名をつけて見ようと
>試しましたが、バグが出ます。何が原因かお分かりでしたら
>教えてください。※マークの部分です。
小僧さんでは有りませんが、Win98、Excel2000で試しましたけど
一応エラーは、起こしませんでした
ただ、InStrRevを使っているので、Excel97を含めて以前のバージョンでは
使え無いと思います
また、少し気に成る所が有りますので
私だったら、以下の様にすると思います
Public Sub Sample()
DataBkup2 "C:\test.txt", "C:\backup\"
End Sub
Public Sub DataBkup2(ByVal strSource As String, ByVal strToPath As String)
Const strForm As String = "mmdd_hh_mm"
Dim i As Long
Dim objFso As Object
Dim strFileName As String
Dim strExte As String
Dim dblDate As Double
If Right(strToPath, 1) <> "\" Then
strToPath = strToPath & "\"
End If
dblDate = Now
Set objFso = CreateObject("Scripting.FileSystemObject")
With objFso
strExte = "." & .GetExtensionName(strSource)
strFileName = strToPath & Format(dblDate, strForm) & strExte
Do While .FileExists(strFileName)
i = i + 1
strFileName = strToPath & Format(dblDate, strForm) _
& "_" & i & strExte
Loop
.CopyFile strSource, strFileName
End With
Set objFso = Nothing
End Sub
気に成る所
1、Loopの中でNow()を使って要る所
2、Copyしてから名前を変えるのでは無く、違う名前でCopyし方が善い様な気がします
|
|