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

【やりたい事】

A3セルにあるファイル名(ファイルパス)から
A7にあるファイル名(拡張子なし)へ

変更をする、マクロを組みたいです

ご存じの方、教えて下さい


【ファイルの場所】
C:\Users\2020\OneDrive\マクロ\テストフォルダ1

フォルダの場所は常に変わらないです


【変更前のファイルパス⇒A3セル】
C:\Users\2020\OneDrive\マクロ\テストフォルダ1\20240504あいうえお.xlsx


【変更後のファイル名⇒A7セル】※任意のファイル名をこちらで入れます
22220101あいうえお

A 回答 (5件)

>以下がエラーとなり、動きませんでした。


>Name full_fname As new_full_fname

エラーメッセージは、何が表示されていますか。
    • good
    • 0

以下のようにしてください。


Option Explicit
Public Sub ファイル名変更()
Dim full_fname As String
Dim fname As String
Dim folder As String
Dim ext As String
Dim new_full_fname As String
Dim pos As Long
full_fname = Range("A3").Value
fname = Dir(full_fname)
If fname = "" Then
MsgBox (full_fname & "は存在しません")
Exit Sub
End If
pos = InStrRev(full_fname, "\")
folder = Left(full_fname, pos)
pos = InStrRev(fname, ".")
ext = Right(fname, Len(fname) - pos + 1)
new_full_fname = folder & Range("A7").Value & ext
Name full_fname As new_full_fname
MsgBox ("変更完了" & vbLf & "変更前:" & full_fname & vbLf & "変更後:" & new_full_fname)
End Sub
    • good
    • 1
この回答へのお礼

ご指導ありがとうございます
以下がエラーとなり、動きませんでした。

お手すきな時にアドバイスお願いします

Name full_fname As new_full_fname

お礼日時:2024/05/06 07:54

こんにちは



単純な文字列操作を行えば良いだけでは?

path = Range("A3").Text
path = Left(path, InStrRev(path, "\")) & Range("A7").Text & ".xlsx"


>フォルダの場所は常に変わらないです
その割にはセル値で取得するなどといったことをしているので、疑問ではありますが・・
固定値ならConstで定義しておくほうが確実なので・・
    • good
    • 1
この回答へのお礼

大変、参考になりました
いつも、ご指導ありがとうございます

お礼日時:2024/05/08 21:43

提示例では、変更後のファイル名は


C:\Users\2020\OneDrive\マクロ\テストフォルダ1\22220101あいうえお.xls
になれば良いのでしょうか。
    • good
    • 1
この回答へのお礼

はいそうです。変更前ファイルもあとも、同じフォルダーにありますので

おおせのとおりです

お礼日時:2024/05/04 13:36

ファイル名変更にはNameステートメントを使用します。

使い方はWeb検索してください。
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A