【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
編集後記:
この記事の内容がベストではないかもしれません。
記事一覧
-

dictionaryをセットする 【VBA】Dictionaryのセット|CreateObject(“Scripting.Dictionary”) -

[VBA]extract the filename 【VBA】フルパスからファイル名と拡張子を取得する -

テーブルをソートする 【VBA】Excelテーブルを昇順で並び替える|ソート -

[VBA]開始と終了イベント停止と再開 【VBA高速化】開始と終了のルーチン呼び出し -

CurrentRegionのデータを配列で取得 【VBA】シートにあるデータを配列に格納する(空白含まない)|CurrentRegion -

ユーザーフォームにドラッグ&ドロップ 【VBA】ドラッグアンドドロップできるユーザーフォーム|ListView