【VBA】ブックのフルパスを変更する(ファイル名の変更も含む)|Name
作成日:2022-12-02
更新日:2025-10-04

ブックのフルパスを変更する
ファイル名のみの変更の場合もフルパスで指定
' 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 SubsrcPathにあるファイルをdstPathに変更する- 例:
C:\Data\Book1.xlsx→C:\Archive\Book1_2025.xlsx
Name ステートメントとは|Name Statement
- Renames or moves a file | ファイルをリネームまたは移動する
- 書式:
Name oldpathname As newpathname srcPathとdstPathにフルパスを与えれば、フォルダをまたいだ移動も可能
Name は VBA標準のファイルリネーム/移動機能- フルパス指定すれば、名前変更だけでなくフォルダ移動も可能。
- 注意点:対象ファイルが開いているとエラーになる。
制約と注意点
- 開いているファイルはNG
- Excelで対象ブックが開いている場合、
Nameは実行できずエラーになる
- Excelで対象ブックが開いている場合、
- ファイル存在チェック推奨
Dir(srcPath)で事前に存在確認すると安全
- 上書き不可
- 既に
dstPathが存在する場合、エラーになる
- 既に
Referenced Insights & Citations
- Microsoft Docs: “Name Statement”
| Name Statement|Nameステートメント |
| File Rename|ファイルリネーム |
| File Move|ファイル移動 |
| Existence Check|存在チェック |
| Runtime Error|実行時エラー |
Always check file existence
before renaming
to prevent runtime errors.
before renaming
to prevent runtime errors.
2022-12-02
編集後記:
この記事の内容がベストではないかもしれません。
記事一覧
-

[VBA]CreateObjectまとめ 【VBA】CreateObject|dictionary・テキストファイル・outlook・Access用にオブジェクトを生成する -

[VBA]Merge1D Arrays 【VBA】一次元配列と一次元配列を結合する -

時間計算のDateAdd 【VBA】DateAddで時間の足し算・引き算 -

[VBA]SaveAs名前を付けて保存 【VBA】名前を付けて保存|SaveAs -

Excelでメール作成とOutlook起動 【VBA】Excelでメール内容を作成してOutlookを起動する -

[VBA]開いているかwith FullName 【VBA】ブックが開いているか判定|StrComp で FullNameを調べる