【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 Sub
srcPath
にあるファイルを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でテーブル設定 【VBA】Excelにテーブルを設定する -
[VBA]buttonに何が登録されてるか 【VBA】ボタンに登録されているマクロ名を調べたい -
UsedRangeのデータを配列で取得 【VBA】シートにあるデータを配列に格納する(空白含む)|UsedRange -
[VBA]Cutbefore after 【VBA】文字列から指定文字より前/後ろをカットする|InStrRev/Left$/Mid$ -
[VBA]ClearContentsシート初期化 【VBA】シートの初期化|ClearContentsで値のみ削除 -
[VBA]CSVに書き出す 【VBA】CSVに配列の中身を書き出す|ADODB.Stream