プロが教える店舗&オフィスのセキュリティ対策術

Webサイト(http://bit.ly/1SszVqL)より、以下のサンプルのマクロをコピーして実行しました。ですが、「×ファイル名または番号が不正です。:52」というエラーで、マクロが機能しません。こちらのマクロのおかしいところを教えてください。詳細は下の通りです。

---------------

Sub A()

Dim fp As String
Dim i As Long
Dim fo As String
Dim fn As String

'パスを変数に格納
fp = Range("A1").Value & "\*.*"

On Error GoTo ERR_HANDL

Range("C4").Value = "実行結果"

'5行目から最終行までループ処理を実行
For i = 5 To Cells(Rows.Count, 1).End(xlUp).Row
'現在のファイル名を取得
fo = Cells(i, 1).Value
'新しいファイル名を取得
fn = Cells(i, 2).Value
'新しいファイル名が入力されているときのみ処理を実行
If fn <> "" Then
'正常処理の実行結果を先に入力
Cells(i, 3).Value = _
"○ファイル名を" & _
"「" & fo & "」から" & _
"「" & fn & "」に変更しました。"
'ファイル名を変更
Name fp & fo As fp & fn
End If
Next i

Exit Sub

ERR_HANDL:

Cells(i, 3).Value = _
"×" & Err.Description & ":" & Err.Number
Resume Next

End Sub

---------------

1)EXCELのバージョンは2010、2013、両方で試しましたが同じ症状でした。

2)仕事でフォルダー内にある大量のファイル名を変更するマクロが必要です。
マクロの基本、etc.はともかく、とりあえずこちらのマクロが機能するようにしたいです。
※連番作成ソフトと組み合わせて、このマクロをそのまま利用する予定です。

3)今、MOS-スペシャシストの勉強中です。合格後、エキスパートも受験予定です。なので、具体的な説明が無理でしたら、マクロの勉強(特にファイル名変更)について簡単なヒント、アドバイスでもOKです。

お手数ですが、説明の上手な方、よろしくお願いします。

A 回答 (2件)

ポイント1



マクロの使用説明書通りに使用をしているか
・A1セルに変更したいファイル群の親フォルダのフルパスが記載されているか
・A5セル以降に変更前のファイル名が表示されている通りに記載されているか
・B5セル以降に変更後のファイル名を記載しているか

ポイント2
・A1セルに入力するフルパス名の最後には”¥”をつけない
・A5セル以降に入力するファイル名は、フォルダの内に表示されているとおりに入力されているか。
すなわち「拡張子を表示する」に設定している場合は拡張子を含めたファイル名を入力、そうでなければ、拡張子を省いたファイル名を入力
    • good
    • 1
この回答へのお礼

アドバイスありがとうございます。
拡張子を表示しない状態で使っておりましたが、
表示して動作させてところ機能しました。

順を追った説明、ありがとうございました。
機会があれば、またお願いします。

お礼日時:2016/02/04 12:52

> 'パスを変数に格納


> fp = Range("A1").Value & "\*.*"

この部分、元と違ってる。
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。
そちらは私が修正しました。

元のとおり走らせると、
そちらで止まってしまい、全文読み込み込みませんので。

お礼日時:2016/02/04 12:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!