下記のマクロを実行すると、指定したPDFファイルのオリジナル名(元々のファイル)の後ろに
指定セル値「V1」の値がプラスされて、PDF名が変更になります。
例えば「12345678-5北海 太郎.pdf」がオリジナル名
「V1」に「_9月5日(交付用)」とあった場合には
マクロを実行すると
「12345678-5北海 太郎_9月5日(交付用).pdfと変更されます。
このマクロですと、マクロ設定ブックのフォルダ内に変更されたPDFファイルが保存されてしまいます。
元のPDFファイル(オリジナル)が保存されているフォルダ内に変更されたPDFファイルを保存出来る方法を教えてください。
現状のマクロ
Sub 交付用名前変更()
Dim TargetFile As String
Dim fPath As String, fname As String
Dim newfName As String
newfName = ThisWorkbook.Sheets("管理表").Range("V1").Value & ".pdf"
newfName = NGNarrowToWide(newfName)
''メッセージを表示し、実施確認する。
If MsgBox(newfName & vbCrLf & vbCrLf & "(交付用)を作成しますか。", vbExclamation + vbOKCancel) <> vbOK Then Exit Sub
' ファイルのパスを指定
fPath = ThisWorkbook.Path
' ダイアログを表示してファイルを選択
TargetFile = Application.GetOpenFilename("PDFファイル ,*.pdf", , "ファイルを選択", , False)
If TargetFile = "False" Then Exit Sub
newfName = CreateObject("Scripting.FileSystemObject").GetBaseName(TargetFile) & newfName
If Dir(fPath & "\" & newfName) = "" Then
Name TargetFile As fPath & "\" & newfName
Else
Dim rc As Integer
rc = MsgBox("既に存在する名前です" & vbCrLf & "はいを押すと既存ファイルは削除され" & vbCrLf & "リネームファイルに置き換えられます", vbExclamation + vbYesNo, "置き換え確認")
If rc = vbYes Then
Kill fPath & "\" & newfName
Name TargetFile As fPath & "\" & newfName
Else
MsgBox "処理を中止しました"
End If
End If
End Sub
Public Function NGNarrowToWide(ByVal stg As String) As String
stg = Replace(Replace(Replace(Replace(stg, "\", "¥"), "/", "/"), ":", ":"), "*", "*")
stg = Replace(Replace(Replace(Replace(stg, "?", "?"), "<", "<"), ">", ">"), "|", "|")
stg = Replace(stg, """", Chr(&H8168))
NGNarrowToWide = stg
End Function
以上となります。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
> マクロ設定ブックのフォルダ
fPath = ThisWorkbook.Path
で取得した場所なので当然です
> 元のPDFファイル(オリジナル)が保存されているフォルダ
GetParentFolderName メソッドで取得しましょう
https://learn.microsoft.com/ja-jp/office/vba/lan …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
秘密基地、どこに作った?
小さい頃、1度は誰もが作ったであろう秘密基地。 大人の今だからこそ言える、あなたの秘密基地の場所を教えてください!
-
【お題】引っかけ問題(締め切り10月27日(日)23時)
【大喜利】 「日本で一番高い山は富士山……ですが!」から始まった、それは当てられるわけ無いだろ!と思ったクイズの問題
-
【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
【お題】 ・買ったばかりの自転車を分解してひと言
-
高校三年生の合唱祭で何を歌いましたか?
大人になると大人数で合唱する機会ってないですよね。 思い出すと、高校三年生の合唱祭が最後でした。 そこで、みんなの思い出の合唱曲を知りたい!
-
VBAコードのインデント表示
Visual Basic(VBA)
-
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
VBA コードどこがおかしいですか?
Visual Basic(VBA)
-
-
4
IF文、条件分岐の整理方法
Visual Basic(VBA)
-
5
Excel-VBAのmsgBox()の不思議
Visual Basic(VBA)
-
6
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
7
VBA 複数条件の分岐処理の上手な方法
Visual Basic(VBA)
-
8
Vba SelStart、SelLen教えてください教えてください
Visual Basic(VBA)
-
9
VBAなくなるの?
Visual Basic(VBA)
-
10
VBA レジストリの値の読み方について教えてください
Visual Basic(VBA)
-
11
久しぶりのプログラミング
Visual Basic(VBA)
-
12
エクセルVBAについて
Visual Basic(VBA)
-
13
時間短縮のために、テキストファイルの入出力をメモリを使って出来ないですか?
Visual Basic(VBA)
-
14
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
15
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
16
エクセルVBAコードで教えて下さい!
Visual Basic(VBA)
-
17
ExcelVBAマクロで実行した時の疑問
Visual Basic(VBA)
-
18
pdfファイルの複数添付 引数の型
Visual Basic(VBA)
-
19
Excel_VBAについて質疑です。(for~next)
Visual Basic(VBA)
-
20
Excelの時刻の不思議
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Visualbasicの現状について教え...
-
【VBA】 結合セルに複数画像と...
-
VB.net(VB)で、フォームにExcel...
-
VBA 別ブックから条件に合うも...
-
VBA 別ブックからコピペしたい...
-
VBA 2次元配列の出力
-
VBAでセルの書式を変えずに文字...
-
Excelのマクロについて教えてく...
-
ExcelのVBAコードについて教え...
-
vbs ブック共有を解除
-
【ExcelVBA】5万行以上のデー...
-
[Excel VBA]特定の条件で文字を...
-
Excelのマクロについて教えてく...
-
エクセルのVBAコードについて教...
-
【VBA】スペースが入っていない...
-
【VBA】値を変更しながら連続で...
-
【ExcelVBA】インデックスが有...
-
Excel VBAで値を変えながら、pd...
-
WindowsのOutlook を VBA から...
-
エクセルvbaの対象セルに色をつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ExcelVBA】5万行以上のデー...
-
【ExcelVBA】dictionaryの重複...
-
VBAでセルの書式を変えずに文字...
-
[Excel VBA]特定の条件で文字を...
-
【VBA】 結合セルに複数画像と...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAのブックを開く方法...
-
WindowsのOutlook を VBA から...
-
エクセルでCDOを使ったメール送...
-
エクセルvbaの対象セルに色をつ...
-
【ExcelVBA】インデックスが有...
-
Excelのマクロについて教えてく...
-
エクセルVBAで特定のセルの値を...
-
エクセルのVBAコードについて教...
-
【VBA】値を変更しながら連続で...
-
Outlookの「受信日時」「件名」...
-
VBA 2次元配列の出力
-
Excel 範囲指定スクショについ...
-
VBA 別ブックから条件に合うも...
-
Web画面の文字をVB6で取得したい
おすすめ情報