あなたはPDFファイルのファイル名を変更するのが面倒だと思ったことはありませんか?
PDFファイルの名前の変更って、PDFの埋め込まれた文字と同じ文字を入力しなおしていることが多いですよね。
二度打ちするのは面倒です。
文字を読み取って、自動でリネームしてくれたらラクですよね。
エクセルのマクロを使えば、PDFの埋め込み文字を使って、ファイル名の自動リネームができるようになります。
今回は「エクセルでPDFの文字を読み取りファイル名を自動リネームするマクロボタンを作る方法」を紹介します。
エクセルでPDFの文字を読み取りファイル名を自動リネームするマクロボタンを作る方法
エクセルでPDFの文字を読み取りファイル名を自動リネームするマクロボタンを作る方法です。
今回は下の「test」のPDFのファイル名を変えてみます。
開くと領収書になっていて、日付や予約番号などを自動で読み取らせたら楽になりますよね。
他の帳票で企業独自の物を読み取らせるときにも使えます。
自社書類だけでなく、取引先から定型パターンの帳票が来る場合にも使えます。
まず準備します。
下のPDFファイルを開いて「ctrl」+「A」。
埋め込み文字を全選択できたら、「ctrl」+「C」でコピーします。
エクセルに貼り付けします「ctrl」+「V」
ファイル名に使いたい情報を、黄色セルにしました。
「領収書_20231120_RJ22460268・・・」というように、「領収書+日付+予約番号」にリネームしたいとします。
マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック
2.「新規作成」をクリック
3.コード入力画面が開く
4.コードを入力
コードを入力します。
ファイル名にしたいセルを指定して、余計な文字列を除去し、PDFのファイル名を変更する、という意味です。
赤枠部のコードです。
Dim cellA11 As Range
Dim cellA26 As Range
Dim cellB11 As Range
Dim cellB26 As Range
Dim textA11 As String
Dim originalDateA26 As String
Dim convertedDateA26 As String
Dim oldFileName As String
Dim newFileName As String
Dim desktopPath As String
Dim i As Integer
Dim numStr As String
' A11セルを指定します
Set cellA11 = Range("A11")
' B11セルを指定します
Set cellB11 = Range("B11")
' A11セルのテキストを取得します
textA11 = cellA11.Value
' "予約番号" を除いた文字列を取得します
textA11 = Replace(textA11, "予約番号", "")
' B11セルに結果を表示します
cellB11.Value = Trim(textA11)
' A26セルを指定します
Set cellA26 = Range("A26")
' B26セルを指定します
Set cellB26 = Range("B26")
' A26セルのテキストを取得します
originalDateA26 = cellA26.Value
' 数字だけを抽出します
numStr = ""
For i = 1 To Len(originalDateA26)
If IsNumeric(Mid(originalDateA26, i, 1)) Then
numStr = numStr & Mid(originalDateA26, i, 1)
End If
Next i
' B26セルに数字だけを貼り付けます
cellB26.Value = numStr
' デスクトップのパスを取得します
desktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")
' 古いファイル名を設定します
oldFileName = desktopPath & "\test.pdf"
' 新しいファイル名を設定します
newFileName = desktopPath & "\領収書_" & cellB26.Value & "_" & cellB11.Value & ".pdf"
' ファイルをリネームします
Name oldFileName As newFileName
コードを入力したら、コードの入力画面を閉じて下さい。
5.ボタンができた →ボタンをクリック
ボタンができたら、ボタンをクリックします。
6.予約番号と発行日のファイル名にしたい部分だけ、別のセルに書き出された →ファイル名もリネームされた
予約番号、発行日について、ファイル名にしたい文字列が抜き出されました。
デスクトップのPDFファイルのファイル名も変更されました。
フォーマットを作っておけば、コピペしてボタンを押すだけなので、ファイルのリネームも簡単ですね!
まとめ
エクセルでPDFの文字を読み取りファイル名を自動リネームするマクロボタンを作る方法のまとめです。
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック
2.新規作成をクリック
3.コードを入れる画面が出る
4.コードを入力
5.ボタンができた →ボタンをクリック
6.予約番号と発行日のファイル名にしたい部分だけ、別のセルに書き出された →ファイル名もリネームされた
ファイル名の変更も簡単にできますね!
コメント