
以下のコードをご覧ください。
ファイル名を変更します
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
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
CSVで文字化けしてしまうのを直...
-
Teraマクロで日付ディレクトリ...
-
複数のHTMLファイルの中身にお...
-
EXCELのVBAで画像を選んだ順に...
-
PDF ファイルが開けません。
-
ファイルを並び替えるときの「...
-
マクロを実行した日付をセルに...
-
ローマ字→カタカナへ変換(エク...
-
コマンドボタンを押すたびに大...
-
複数ファイルにある特定のシー...
-
Excel:コマンドボタンの移動
-
VBAでEXCELに埋め込んだPDFを開...
-
マクロ 実行ボタンを押さずに...
-
EXCELのセルへ、デジタル時計を...
-
Excel VBA のdebug(F8キー) が...
-
PPTのコマンドボタンがクリック...
-
エラーになってないのにVBA...
-
TeraTermのマクロについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
EXCELのVBAで画像を選んだ順に...
-
Teraマクロで日付ディレクトリ...
-
ファイルを並び替えるときの「...
-
ハイパーリンクで前回値をひき...
-
エディタで効率的な切り出し方法
-
=CELL("filename")で取得したフ...
-
エクセルからスキャナVBAで連動...
-
VBAでFileDialogを利用してファ...
-
エクセルファイルから指定した...
-
EXCEL VBA ー 同一フォルダ内の...
-
Excelでファイル指定してopenで...
-
Notes 開発で、 excelファイル...
-
複数のExcelブックから一覧表を...
-
エクセルにファイルを添付したい
-
Excel VBAで自動的にハイパーリ...
-
Excelvbaで同一フォルダー内の...
-
「やよいの青色申告」のファイ...
-
CSVで文字化けしてしまうのを直...
おすすめ情報