ファイルの移動する処理を関数化。
ファイルが開いている場合にはエラーが発生するため、エラー処理も行っています。
送信先のファイル名を変更することができます。
' ------------------------------------------------------------
' 説明:ファイルの移動
' 引数:1:移動元のファイル名
' 2:移動先のファイル名
' 備考:既にファイルがある場合は確認ダイアログが表示されます
' エラーが発生した場合は、エラーの詳細情報が表示されます
' ------------------------------------------------------------
Sub FileMoveOwConfirm(SourceFilename, DestinationFilename)
Dim fso As Scripting.FileSystemObject
' オブジェクトを作成
Set fso = New Scripting.FileSystemObject
' エラー発生時の処理
On Error GoTo ErrorProc
' コピー元のファイルが無い場合 → 終了
If fso.FileExists(SourceFilename) = False Then
MsgBox "コピー元のファイルが存在しません。", vbExclamation, "FileCopyOwConfirm"
Set fso = Nothing
Exit Sub
End If
' コピー先にファイルが有る場合 → 終了
If fso.FileExists(DestinationFilename) = True Then
MsgBox "コピー先に同名のファイルが存在します。", vbExclamation, "FileMoveOwConfirm"
Set fso = Nothing
Exit Sub
End If
' ファイルの移動処理
fso.MoveFile SourceFilename, DestinationFilename
Set fso = Nothing
Exit Sub
' エラー処理
ErrorProc:
MsgBox "エラーが発生しました。 (" & Err.Number & ")" & vbCrLf & "内容: " & Err.Description, vbExclamation, "FileMoveOwConfirm"
Set fso = Nothing
End Sub
【補足】
Scripting.FileSystemObject を使用しています。
初期設定では、エラーが発生するので、参照設定「Microsoft Scripting Runtime」の設定が必要です。

コメント