• ベストアンサー

エクセルの文字列順に画像をリネームしたい

csvデータにリネームしたい文字列と現在のファイル名があります。 A列にはリネームしたい文字列、B列には、現在のファイル名が順番に並んでいます。 これをどうにかしてリネームしたいのですが、何か良い方法はありませんでしょうか? A列リネームする文字列 | B列 現在のファイル名  -----------------------|------------------------ 1234 |010.jpg 2334 |030.jpg 4534 |abc.jpg 1258 |aaa.jpg 3134 |ddd.jpg

質問者が選んだベストアンサー

  • ベストアンサー
noname#99913
noname#99913
回答No.2

(1)エクセルのデータを次のように変えてください。   A   B             C 1 ren  (現在のファイル名) (変えたいファイル名) 2 ren  (〃)           (〃) 3 ren  (〃)           (〃) 4 ren  (〃)           (〃) 注意:各列の間に十分な空白があくように、列幅を調整してください。 (2)名前を付けて保存で、 ファイル形式を「テキスト(スペース区切り)」 ファイル名を「rename.bat」 にして、名前を変えたいファイル群と同じフォルダに保存してください。 (3)rename.batをダブルクリックしてください。 念のため、名前を変えたいファイル群を、別のフォルダーにバックアップしてからやってください。

mukune_001
質問者

お礼

うまく出来ました。 こんな便利な方法があるとは思いませんでした。 ありがとうございます。

その他の回答 (1)

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.1

ファイルのリネームはVBA(マクロ)で   NAME 旧ファイル名 As 新ファイル名 とすることで実現できます。。 ファイル名は、C:\SAMPLE\A.JPG といった感じでフルパスで指定します。 これ上から順番に処理していけば可能です。以下簡単なサンプルです。 Sub ChangeFileName()   Dim Target As Range   Dim OldName As String, NewName As String   Const PATH = "C:\SAMPLE\"   For Each Target In ActiveSheet.Range(Range("A1"), Range("A1").End(xlDown))     OldName = PATH & Target.Offset(0, 1).Value     NewName = PATH & Target.Value     If OldName <> "" Then       If Dir(OldName) <> "" Then         Name OldName As NewName       End If     End If   Next End Sub あとは、同名ファイルが存在しないかなどのエラーチェックも必要になると思います。

関連するQ&A

  • リネームについて

    PHP初心者です。宜しくお願い致します。 リネームについて2点程質問があります。 1.特定フォルダ内にある全てのCSVファイル内の特定箇所の  リネームについて列内に記入されているファイル名「123_4.jpg」  や「123-4.jpg」の「_」を「a」に「-」を「b」にすることは可能  でしょうか?  できれば該当のCSVファイルを開かずに、特定の列を指定しその列に  記入されている全ての「_」と「-」を置換したいと思っています。  「123_4.jpg」→「123a4.jpg」  「123-4.jpg」→「123b4.jpg」   とこのような感じに。 2.特定フォルダ内の画像ファイルのリネーム  上記と同様に「_」を「a」、「-」を「b」置換 できれば、元ファイルをコピーして別のフォルダにリネームした ファイルを保存したいと思っています。 宜しくお願い致します。  

    • ベストアンサー
    • PHP
  • 複数セルから同じ文字列を抽出、並べ替え

    お世話になります。 セル式で定義したいのですが、いい考えが浮かびません。 A列に以下のような文字が並んでいるとします。実際は下に無制限とします。 A1  AAA A2  BBB A3  CCC A4  AAA A5  CCC A6  DDD A7  AAA これらのセル中の文字列から以下のように並べ替えてB列に配置したいのです。 B1  AAA B2  BBB B3  CCC B4  DDD 4種類の文字列となるのでB1:B4まで並べたいと思います。 B列のセルにセル式を記述したいと思います。 以上、ご教授下さい。

  • ドラッグ&ドロップした順番でリネームしてくれるソフト

    ファイルをそのソフトへドラッグ&ドロップした順番に そのファイルの名前を *****0001.jpg *****0002.jpg *****0003.jpg ・・・・ *****0135.jpg(*****は任意の文字列) などとリネームしてくれるソフトってないでしょうか?

  • サブフォルダの中身ファイルを一括リネームしたい。

    こんにちは 現在,フォルダの中に大量のサブフォルダ,その中に連番のファイルが入っているフォルダがあり,そのファイルの名前をリネームしようと思っています。 具体的には, ABC\a\01.jpg ABC\a\02.jpg ABC\a\03.jpg ABC\a\dat.txt ABC\b\01.jpg ABC\b\02.jpg ABC\b\03.jpg ABC\b\dat.txt ABC\c\01.jpg ABC\c\02.jpg ABC\c\03.jpg ABC\c\dat.txt といった具合です。 これを,一括で ABC\a\a-01.jpg ABC\a\a-02.jpg ABC\a\a-03.jpg ABC\a\a-dat.txt ABC\b\b-01.jpg ABC\b\b-02.jpg ABC\b\b-03.jpg ABC\b\b-dat.txt ABC\c\c-01.jpg ABC\c\c-02.jpg ABC\c\c-03.jpg ABC\c\c-dat.txt という風にリネームしたいのですが,サブフォルダの名前に対応したリネームソフトが見つかりません。 どなたか,良い方法,ソフトをご存じないでしょうか?

  • エクセルマクロ 特定の文字列を含む行を削除

    エクセルマクロ 特定の文字列を含む行を削除 エクセルのマクロについて教えてください。 下の中から列を限定せず、すべての行でAAA、CCCのいずれかがある場合、 その行ごと、すべて削除したいのです。 時に削除したい特定の文字列が数十種類になるため、 マクロ起動時に削除したい特定の文字を記述したファイルを読み込み、それから 削除できるようにしたいのです。場合によってはそのファイルを編集し、 削除したい文字列を変更したいのです。 ご教示いただだけないでしょうか A列 B列 C列 1 AAA BBB CCC 2 BBB CCC FFF 3 DDD BBB FFF 4 AAA CCC DDD 5 GGG RRR UUU 行中にAAA、BBBがある場合、削除したい ↓ A列 B列 C列 5 GGG RRR UUU マクロを実行し、上記の結果にしたい。

  • エクセルで列にあるユニークなデータの個数が知りたい

    おはようございます。 エクセルでA列に以下のようなデータがあるとします。 この中で何種類のデータがあるのかを知りたいのです。 この場合は、AAA,BBB,CCC,DDD,EEEの5種類なので5という答えが欲しいのです。 ただし、A列に入るデータは非常に多岐(800種類以上)に渡ります。 また、印刷を前提としてるためソートなどはできません。 さらに1枚のシートにこのようなデータがいくつかあるので、その決まった範囲内で個数を抽出する必要があります。 なにとぞ皆様のお知恵をお貸しくださいませ。 よろしくお願いします。 AAA AAA BBB CCC AAA DDD DDD BBB DDD DDD EEE EEE

  • エクセルの文字処理

    以前に同じ様な質問があったかも知れませんが、探しきれなかったので教えてください。 A1~A4の4つのセルに以下のスペースが入った文字列が入っていた場合 A1|AAA A2|AAA BBB A3|AAA BBB CCC A4|AAA BBB CCC DDD    A   B   C   D  1|    AAA 2|AAA BBB 3|AAA BBB CCC 4|AAA BBB CCC DDD という具合にしたいのです。 条件は  ・セル内にスペースで区切られない文字列があった場合には、B列に入れる  ・それ以外はスペースで区切って、A列B列C列D列に入れる  ・文字数は3文字固定ではなく全角半角が混在 以上です。すいません宜しく願いします。

  • excel エクセルで文字列を反転したい

    EXCEL2003を使っています。 CSVではきだした膨大なデータの文字列が横に出てくるので、それを縦にしたいのですが、 どうすればいいのでしょうか。 例えば、 A B 6 4 4 4 7 7 5 4 3 2 4 4 8 6 6 3 このように出てきたデータを、 A 6 4 7 5 3 4 8 6 B 4 4 7 4 2 4 6 3 このようにしたいのですが、何かいい方法はないでしょうか、 現状、手打ちで変えているのですが、これをやっているだけで日が暮れそうなので、 ご教授いただければ、大変助かります。 よろしくお願いします。

  • 条件付組合せ - ある文字列は何番目に出るか?

    [ABC]の3文字を組み合わせて出来る文字列を順番に並べると、 1. A 2. B 3. AA 4. AB 5. BA 6. BB 7. AAA ... という風になります。 このとき、「Aの次にはBのみが出る」、「Bの次にはAのみが出る」という規則を適用すると、この順番は 1. A 2. B 3. AB 4. BA ... という風になります。 このような規則を適用したとき、「ある文字列が何番目に現れるか」を求めるには、どのように考えればよいのでしょうか? たとえば上記の例でいくと、「ABAB」という文字列が現れるのは一体何番目になるかという問題を、計算で求めるにはどのようにすれば良いのでしょうか。 つまり、 任意の文字を組み合わせて出来る文字列を順番に並べたパターンに対して、「ある文字の次には特定の文字しか出ない」というような規則をいくつか適用したとき、ある文字列が何番目に該当するかを求めるにはどうすれば良いか、 という問題です。 曖昧な部分がありましたら申し訳ありません。 補足させて頂きます。 ご回答よろしくお願い致します。

  • リネームソフトを探しています

    次のような機能のあるリネームソフトを探しております。 1.フォルダ内のファイル名とファイル内の文字列を入れ替える。 (リネーム対象のファイルのファイル名の一部とファイル内の文字列はユニークに 特定出来る。) 例) ファイル名 aaaa bbbb cccc ファイル内の文字列 aaaa1234 bbbb5678 cccc9abc リネーム後のファイル名 aaa1234 bbb5678 ccc9abc この様なリネームが行えるソフトウェアはあるでしょうか? 環境はWindowsXPです

専門家に質問してみよう