• 締切済み

エクセル表にあるファイル名に従い、大量に画像生成

皆さん今晩は。ご存じの方がいらっしゃいましたら助けて下さい。 添付した画像のようなエクセル表があります。 表にはそれぞれ 12345.jpg 12346.jpg 12347.jpg ・ ・ ・ とファイル名リストがあります。 このファイル名に添って、フォルダ内にある画像をリネームしたいです。 以上宜しくお願い致します。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

マクロを使ってファイル名を書き換えるぐらいは簡単にできます。 でも。 1)「どのファイルが」リストのどのファイル名に変わって欲しいのか,対応が不明です。   たとえば  「A列に今あるファイル名が漏れなく列記されている」  「B列にそれぞれの変更後のファイル名が過不足無く列記されている」   のが理想です。 2)ファイルを順不同であるだけ拾ってきて,勝手に上から順に名前を書き換えることも,勿論できます。  用意の変更後ファイル名リストが尽きてしまったら(ファイルの方が数が多かったら)どうしたいのか,だけ決めておく必要はあります。 作成例: ブックのA列に変更後の名前を列記する ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1()  dim myPath as string  dim myFile as string  dim i as long  mypath = "c:\test\" ’画像を保存しているフォルダのパスを正しく記入する  on error resume next  mkdir mypath & "results\"  on error goto 0  i = 2  myfile = dir(mypath & "*.jpg")  do until myfile = ""   name mypath & myfile as mypath & "\results\" & cells(i, "A").value   myfile = dir()   i = i + 1   if cells(i, "A") = "" then exit do  loop end sub 画像フォルダのパスを正しく書き換える (必要に応じて,マクロで処理したいオリジナルファイルの拡張子も修正する) ファイルメニューから終了してエクセルに戻る ALT+F8を押してマクロを実行する。 フォルダにresultsフォルダを新たに作り,変更後の画像を移動する。

miesuku
質問者

お礼

ありがとうございました。頑張ってみます!

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

リネームするには、「何を」「何へ」の2つがセットで必要。 例示のデータはどちらですか? 解は、「セットになるファイル名を列挙して、式設定してリネームコマンドバッチファイルを作る」 以下は何がしかの現ファイル名を例示データにリネームするためのもの 1)対になるファイル名を例示のデータに並べる(例示データが列Aなら、列Bに) 2)列Cに式を設定しコピーする。   データが2行目から並ぶとして、セルC2に式[="rename " & b2 & " a2"]を入力 3)セルC2を囲む線の右下が■になってるのでダブルクリックする。   これで下まで式が参照する行番号が変わりながらコピーされる。 4)範囲をそのままコピーする。 5)メモ帳を開き、ペーストする。 6)リネームしたいフォルダに保存する。ファイル名は "リネーム.bat"とする。   このときファイル名をダブルクォートで囲むこと。 7)コマンドプロンプトを開き、対象のフォルダに移動する。   cd と半角スペース1文字を入力して、対象のフォルダをドラック&ドロップすると簡単。   Enterを押すこと。 8)リネーム.bat[Enter]で実行されます。

miesuku
質問者

お礼

ありがとうございました。頑張ってみます!

関連するQ&A

専門家に質問してみよう