銀河鉄道

【VBA】ブックのフルパスを変更する(ファイル名の変更も含む)|Name

サムネイル
[VBA]Nameでパス変更

ブックのフルパスを変更する

ファイル名のみの変更の場合もフルパスで指定

' Rename or move a workbook file safely|ブックファイルを安全にリネームまたは移動する
Public Sub ChangeBookPath( _
                            ByVal srcPath As String, _
                            ByVal dstPath As String)

    ' 元ファイルが存在しなければExit
    If Dir(srcPath) = "" Then Exit Sub
    
    ' 既に移動先が存在すればExit
    If Dir(dstPath) <> "" Then Exit Sub
    
    ' 実際にリネーム/移動
    Name srcPath As dstPath
End Sub

  • srcPath にあるファイルを dstPath に変更する
  • 例:
    • C:\Data\Book1.xlsxC:\Archive\Book1_2025.xlsx

Name ステートメントとは|Name Statement

  • Renames or moves a file | ファイルをリネームまたは移動する
  • 書式: Name oldpathname As newpathname
  • srcPathdstPath にフルパスを与えれば、フォルダをまたいだ移動も可能

Name は VBA標準のファイルリネーム/移動機能
  • フルパス指定すれば、名前変更だけでなくフォルダ移動も可能。
  • 注意点:対象ファイルが開いているとエラーになる。

    制約と注意点

    1. 開いているファイルはNG
      • Excelで対象ブックが開いている場合、Name は実行できずエラーになる
    2. ファイル存在チェック推奨
      • Dir(srcPath) で事前に存在確認すると安全
    3. 上書き不可
      • 既に dstPath が存在する場合、エラーになる

    Referenced Insights & Citations

    | Name Statement|Nameステートメント |
    | File Rename|ファイルリネーム |
    | File Move|ファイル移動 |
    | Existence Check|存在チェック |
    | Runtime Error|実行時エラー |

    Always check file existence
    before renaming
    to prevent runtime errors.

    著者

    author
    月うさぎ

    編集後記:
    この記事の内容がベストではないかもしれません。

    記事一覧