![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
以下のコードをご覧ください。
ファイル名を変更します
a3セル(ファイルフルパスが記載)のファイル名をa7(ファイルの名前のみ)に変更します
コードは、動きます。ただ、2回実行すると
fso.GetFile(filePath).Name = newFileName
デバックとなります
質問したいことは、2回実行した時に
「既にファイル名は変更済み」とメッセージを出したいです
ご存じの方、宜しくお願いします
【コード】
Sub ファイル名変更()
Dim fso As Object
Dim filePath As String
Dim newFileName As String
'変更前のファイルのパスを指定
filePath = Range("a3")
'変更後のファイル名
newFileName = Range("a7") & ".pdf"
Set fso = CreateObject("Scripting.FileSystemObject")
'ファイル名を変更
fso.GetFile(filePath).Name = newFileName
'後片付け
Set fso = Nothing
End Sub
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_13.png?8acaa2e)
- 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
- 今の自分の気分スタンプを選ぼう!
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No1のかたのアドバイスに従い、修正してみました。
以下のようにしてください。
Sub ファイル名変更()
Dim fso As Object
Dim filePath As String
Dim newFileName As String
'変更前のファイルのパスを指定
filePath = Range("a3")
'変更後のファイル名
newFileName = Range("a7") & ".pdf"
Set fso = CreateObject("Scripting.FileSystemObject")
'ファイル存在チェック
If fso.FileExists(filePath) = False Then
MsgBox (filePath & "が存在しません。" & vbLf & "既にファイル名は変更済み" & vbLf & "もしくは、変更前のファイル名が誤っています")
Exit Sub
End If
'ファイル名を変更
fso.GetFile(filePath).Name = newFileName
'後片付け
Set fso = Nothing
End Sub
No.1
- 回答日時:
こんばんは
>2回実行すると
> ~~~
>デバックとなります
エラーの原因がわかっていますか?
対象とするファイルが(すでに)存在しないので、GetFileメソッドが失敗するからです。
>2回実行した時に
>「既にファイル名は変更済み」とメッセージを出したいです
ファイルが存在するかどうかを、事前に確認すれば良いでしょう。
https://learn.microsoft.com/ja-jp/office/vba/lan …
存在しない時は、お好きなメッセージを出せば宜しいかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2024/01/16 16:33
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
【マクロ】2回実行したら、エ...
-
excelに貼り付けた数値が勝手に...
-
EXCELのマクロを使って、テキス...
-
エディタで効率的な切り出し方法
-
EXCELで複数のファイルから抽出
-
Excelで他のExcelファイルから...
-
エクセル2000でのVBA作成して...
-
ファイルを並び替えるときの「...
-
ローマ字→カタカナへ変換(エク...
-
Wordの画面を左右にスクロール...
-
マクロ 実行ボタンを押さずに...
-
押したボタンの位置取得(共通の...
-
Excel VBA のdebug(F8キー) が...
-
複数ファイルにある特定のシー...
-
EXCELのセルへ、デジタル時計を...
-
エクセル グラフの軸の最小値最...
-
エクセルのマクロ機能で前のシ...
-
エラーになってないのにVBA...
-
モジュール内のマクロを全て実...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
Teraマクロで日付ディレクトリ...
-
EXCELのVBAで画像を選んだ順に...
-
エディタで効率的な切り出し方法
-
excel INDIRECT 他ファイル参照
-
VLOOKUP関数とネットワークに置...
-
エクセル 一括リンクの解除
-
エクセルからスキャナVBAで連動...
-
ハイパーリンクで前回値をひき...
-
EXCELで複数のファイルから抽出
-
ファイルを並び替えるときの「...
-
EXCELファイルが開けない(-_-;)
-
EXCEL VBA ー 同一フォルダ内の...
-
CSVで文字化けしてしまうのを直...
-
Excel VBAで自動的にハイパーリ...
-
PDF ファイルが開けません。
-
エクセルファイルから指定した...
-
EXCELのマクロを使って、テキス...
-
ファイルが無いときにエラーメ...
おすすめ情報