【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]Cutbefore after 【VBA】文字列から指定文字より前/後ろをカットする|InStrRev/Left$/Mid$ -

Excel内でSQLを使いたい 【VBA】Excelシート内の表データをSQLで操作したい -

[VBA]ShowMessage Box 【VBA】メッセージボックスをモジュールに集める|OKOnly,OKCancel,YesNo -

[VBA]Dirで存在確認 【VBA】フォルダとファイルの存在確認|FSOよりもDir -

vbaの色設定 【VBA】色の定数は8つ|RGB対称表 -

[VBA]Control the calculation再計算 【VBA】指定のシートを再計算する|Calculate