510枚のTACカードの両面スキャンで、1,020個のファイルができたのですが、日付がファイル名になっていて、見づらいなぁ~なんて思う方向けですので、気にしない方はそのままでOKです。
カードの番号をファイル名にしておけば後々探しやすいと聞き、ファイル名を変更しようと思いました。
丁寧に書いてみたので、かなり長いですが、実際の作業は5分くらいで終わりますので、気になった方はお試しください^^
たくさん調べ試行錯誤して辿り着いた方法をまとめましたが、私はプログラミングのプロではなくただの主婦なので、細かい仕組みとかはよくわかりません。
あくまでも自己責任の上バックアップを取ってから実行してください。万が一この方法でファイルが消えたり、開けなくなっても責任は負いかねます。(私自身もコピーを使っています)
ファイル名どうする?
TACは裏表があるので、スキャンしたファイルは順番に1表・1裏・2表・2裏…なっています。
ファイル名をこれに沿って、1f・1b・2f・2b…のようにしたいと考えました。
ちなみに、f=front⇒表・b=back⇒裏 です。
フリーソフトで一括で変更できるものを探しましたが、いいものが見つからず、結局エクセルでマクロを組んで変更することにしました。(自分でマクロ組むなら変なフリーソフト入れるより怖くないしね)
マクロを組むと聞くと難しそうですが、コピペでできるので簡単ですよ♪
マクロの設定
まず、エクセルを開いたときに、『開発』タブはありますか?
無い方は、以下の方法で表示させてください。
それでは、本題に入ります。
①『開発』タブ→1番左の『Visual Basic』をクリック
②出てきたウィンドウで、左側のSheet1をクリック後、左上のコードの表示ボタンをクリック
③右側に↓をコピー&ペーストする。
Sub ファイル名を指定のファイル名に一括変換()
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("C1").Value = "実行結果"
For i = 2 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
ちなみに、こちらのサイトを参考にさせて頂きました!
④一番左のエクセルマークのようなアイコン(表示)をクリックしてエクセルに戻る
⑤エクセルのA1セルにファイル名を変更したいファイルの入っているフォルダのアドレスを入力
アドレスのコピー方法は、対象のフォルダを開いて、アドレスバー(下図参照)をコピーすればOKです。(クリックするとアドレスに変わります)
変更したいファイル名をA2セルへ貼り付け
①フォルダを詳細表示にする。(表示タブ→詳細)
②日付時刻を押して、昇順で並び替えをする。
③変更したいファイル名をコピー
ファイルを全選択(Ctrl+A)し、Shift+右クリック →『パスのコピー』
④メモ帳に貼り付け
ファイル名だけにしたいのに保管場所まで全てコピーされてるので、それをメモ帳の置換機能で消すという作業です。(エクセルでやってもOK)
- ファイル名の前の ” \ ” までコピー(右の画像参照)
- 『編集』→『置換』
- 『検索する文字列』に1でコピーしたものが入っていることを確認 (『置換後の文字列』は空欄でOK)
- すべて置換
- 余計な『”』が最後に入っていたらそれも同様に置換で消す
⑤エクセルのA2に貼りつけ
並び順がおかしい場合
貼り付けたファイル名がちゃんと1のカードから順番に並んでいるか確認してください。
並び順が正しい場合はこのステップは飛ばしてOKです。
⑥2行目に行を追加する。
⑦メモ帳に戻り、④同様、置換でファイル名から数字以外の全てを消す。
⑧B列に貼り付け
⑦B列を昇順で並び替える
⑧B列を削除する
⑧空欄の2行目を削除し上に詰めます。
変更後のファイル名を隣(B列)に入力
いきなり1f,1b,2f,2b,3f,3b…とオートフィルでの入力はできないので、
まず1,1,2,2,3,3…のみB列に作ります。でもこれも少し工夫が必要です。
①B2~B5セルに以下のように入力
②B4,B5の2つのセルでオートフィル
(2セルを選択し、右下”・”にカーソルを合わせると”+”になるので、”+”をダブルクリックする)
510まで番号ができていることを確認してください。
③B列をコピーし、C列に”値の貼り付け”をする
④D2,D3に『f』, 『b』と入力し、D2,D3の2つのセルでオートフィル
⑤E2に『.jpg』と入力しオートフィル
⑥C,D,E列を列ごとコピーし、メモ帳に貼り付け後、置換機能で空欄を消す
⑥メモ帳をCtrl+Aで全てをコピーし、エクセルB1セルに貼り付ける
⑦C,D,E列を列ごと削除する
マクロを実行する
お疲れさまでした。あとはもうマクロを実行するだけです。
マクロ使ったことのない方のために実行手順も書いておきますね。
『開発』タブから『マクロ』をクリック→『実行』
以上です!
あとは、元のフォルダを開き正しく変更されているか確認してくださいね。
コメント