ファイル名のパスを変更したファイル名の作成

同じファイル名で、パスのみを変更するしたファイル名を作成する処理を関数化。

' ------------------------------------------------------------
' 説明:ファイル名(パス付き)から、指定したパスのファイル名(パス付き)を作成
' 引数:1:変換前のファイル名
'       2:変換後のファイルパス
' 戻値:変換後のファイル名
' 補足:例 1="C:\ExcelVBA\test.txt", 2="C:\ExcelVBA\Sample\No1",
'       戻値="C:\ExcelVBA\Sample\No1\test.txt"
' ------------------------------------------------------------
Function FilenameNewPathName(in_filename As String, out_path As String) As String
    Dim fso As Scripting.FileSystemObject
    Dim FolderName As String
    
    ' オブジェクトを作成
    Set fso = New Scripting.FileSystemObject
    
    ' 入力ファイル名、出力フォルダ名が未指定の場合は何もなしで返す
    If in_filename = "" Or out_path = "" Then
        FilenameNewPathName = ""
        Exit Function
    End If

    ' 新しいファイル名を作成して戻す       
    FilenameNewPathName = out_path & "\" & fso.GetFileName(in_filename)
End Function

【補足】

Scripting.FileSystemObject を使用しています。
初期設定では、エラーが発生するので、参照設定「Microsoft Scripting Runtime」の設定が必要です。

コメント