• ベストアンサー

VBAで画像ファイルのファイル名を変更したい

My Picturesには「○○.ico」という画像ファイルが多数あります。 ファイル名の長さはバラバラで規則性はありません。 (○×○.icoだったり、△○×□.icoだったり) それを全て 「Access用001.ico」 「Access用002.ico」 と連番を振って行きたいのですが可能でしょうか? よろしくお願いします。(2003です。)

  • 1wer56
  • お礼率100% (538/538)

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

Dirを使用したマクロ フォルダを必ず.icoのあるフォルダに変更してください Sub test() Dim myF As String Dim myfileB As String Dim myfile As String Dim myF_count As Integer Dim i As Integer myF = "C:\My Pictures"  'フォルダを指定 myfileB = Dir(myF & "\" & "*.ico") If myfileB = "" Then Exit Sub i = 0 Do i = i + 1 myfile = Dir() Loop Until myfile = "" myF_count = i myfile = Dir(myF & "\" & "*.ico") For i = 1 To myF_count Name myF & "\" & myfile As myF & "\" & "Access用" & Format(i, "000") & ".ico" myfile = Dir() Next i End Sub バックアップを取って実行してください

1wer56
質問者

お礼

解決できました!ありがとうございます!!

その他の回答 (1)

  • kenpon24
  • ベストアンサー率64% (66/102)
回答No.1

2003ならFileSearchオブジェクトを使うのが簡単ですかね。 使い方 http://www.moug.net/tech/exvba/0060051.htm LookInプロパティにMyPicture FileNameプロパティに"*.ico"を指定 MyPictureのみ処理対象にしたければ.SearchSubFoldersはFalseにしたほうがよいでしょう。 見つかった結果.FoundFiles(i)にはファイルのフルパスが設定されます。 これに対し連番を振りつつリネームしてあげればいいわけです。 バックアップを取ってから実行することをおすすめします。 dim Temp as string For i = 1 To .FoundFiles.Count 'ファイル名とパスの間に\を挟んでおく If Right(.LookIn, 1) <> "\" Then Temp = "\" Else Temp = "" End If Temp = Temp & "Access用" & Format(i, "000") & ".ico" '連番ファイル名を作成する 3桁限定 Name (.FoundFiles(i)) As .LookIn & Temp 'リネーム実行 Next i Format関数の"000"で3桁の文字列を作っています。 4桁にしたければ"0000"とします。

1wer56
質問者

お礼

解決できました!ありがとうございます!!

関連するQ&A

  • 同じ画像ファイル名の連番を付ける方法

    同じ画像ファイル名の連番を付ける方法 沢山ある画像ファイルに、例えば「2010-05-29 愛犬の昼寝」などという名前を付けたい場合、画像名を付けるすべてのファイルを選択してF2キーを押して「2010-05-29 愛犬の昼寝」という名前を付けるとします。 すると、選択した最初のファイル名は「2010-05-29 愛犬の昼寝」となって、その他のファイル名が (2)から始まる名前になります。これだけのことであれば良いのですが、最初の「2010-05-29 愛犬の昼寝」ファイルが選択したすべてのファイルの一番最後に配置されます。 このため、撮影時間が最初のファイルが一番最後のファイルになってしまいます。 すべてのファイルに同じ名前を付ける目的は、同じ種類の画像に時間順に連番を付けたいからなのに、これでは目的にかないません。 どうしたら、当初の時間順になっているファイルの順を維持しながらファイル名に連番を付けられるのでしょうか? どうか、よろしくお願いします。

  • ファイル名を変更できない!

    ヴォイスレコーダーを使用していますが、自動でファイルに連番をつけてくれます。 その連番が099を超えたらなぜか全て 0:0 (ゼロコロンゼロ)になってしまい、 コピーもファイル名の変更もできなくなりました。 099移行のファイル名は全て VOICE0:0.mp3 です。なぜか同じフォルダ内に同じファイル名が ずらりと並んでいます。 リネームソフトのRlexible Renamerでも受け付けてくれませんでした。 これらをコピーするにはどうしたらよいでしょうか? これらをリネームするにはどうしたらよいでしょうか?

  • ファイル名の変更について

    複数のmp3ファイルの、ばらばらのファイル名に、ファイル名はそのままで、連番を付けたいのですが、一択変更してみたら、(1)から連番にはなりましたが、名前がすべて同じ名前になってしまいました。 やはり番号だけ付け足すことは無理でしょうか。 一つ、一つ変更しなければ出来ないのでしょうか? それと、変更の途中でキャンセルしたい時は、どうすればいいでしょうか? 教えてください、よろしくおねがいします。

  • ファイル名を関連性を維持しつつ変更する

    本のデータベースをcsvファイルに落としました。データ数は1000件です。 ↓csvの形式 連番・書名・画像1ファイル名・画像2ファイル名 1・日本史・abc.jpg・xyz.jpg 2・世界史・opq.jpg・空白 3・神学論・abx.jpg・axz.jpg ※jpgファイル名に規則性がない これを以下の仕様に変更したいのです。 ↓csvの形式 連番・書名・画像1ファイル名・画像2ファイル名 1・日本史・1-1.jpg・1-2.jpg 2・世界史・2-1.jpg・空白 3・神学論・3-1.jpg・3-2.jpg win10とエクセルです。 よろしくお願い致します。

  • 【ファイル名を簡単に連番にする方法】

    【ファイル名を簡単に連番にする方法】 お世話になります。 携帯のカメラで撮影した画像をmicroSDカードに写し、 それをPC内のマイピクチャに保存しました。 画像のファイル名を日付で分かるように 『2010.08.26-01』等にして管理していました。 そのマイピクチャにある画像を、再度microSDに 移行したいのですが、ファイル名や拡張子等の問題で 『2010.08.26-01』のままでは携帯で 画像を見る事ができません。 microSDに移行した画像は、全部で約700枚あります。 これらのファイルは全て『2010.08.26-01』等の 日付管理なので『NEC_0001』などに直す必要があります。 全てのファイルを選択して『NEC_0001』と入力したところ、 連番で『NEC_0002』『NEC_0003』『…』と なると思っていたのですが『NEC_0001(1)』 『NEC_0001(2)』となってしまい、連番を付与することが 出来ずに困っています。 昨日、『NEC_0120』までは手入力で実施したのですが、 この先、600枚近いファイル名の変更を手入力で直すのは ちょっとしんどいです。 ファイルを選択し、全て番号を連番で付与する方法はあるのでしょうか? ようは、指定で『ファイル名(1)』ではなく『ファイル名(+1)』 になるように設定出来れば話は簡単だと思うのですが…。 宜しくご教示のほどお願いいたします。

  • 画像ファイルの変更

    画像ファイルの拡張子jpgというのがありますよね。以前はコンピュータに画像を取り込むと、プレビュー機能がはたらいて見られていたのですが、いつの頃からか、画像ファイルが”クイックタイムピクチャー”という物に全て変わってしまいプレビュー機能が、働かなくなってしまいました。不便です。よく調べてみると、プレビュー機能が働いていた頃のピクチャーファイルの拡張子は「jpeg」でした。そこで、教えて欲しいことですが、画像ファイルをもとのjpegに変更する方法です。お願いします。

  • 画像のファイル名について

    画像を一つのファイルに取り込んで、同じ種類の画像なら同じ名前をつけますよね。複数の画像を指定して名前をつけるとつけた名前の後ろにスペースと数字が入ります。ソフトによっては(・)カッコがつくときもあります。これをwebに乗せるときにプロバイダーによってはスペースも(・)も受け付けないところがあります。 この名前をつけるときに、スペースや()を付けにように指定ができますか? ソフトはwindowsのmy picturesとEOS utilltyを使っています。

  • 携帯電話画像をPCへ取り込むファイル名について

    こちらで調べたのですが、回答が見つからなかったので投稿させていただきます。 私は、SH903iの携帯電話を(docomo)使っているのですが、 SDカードへ保存している写真をパソコンへ取り込む際に、同じファイル名になってしまうことがあり、取り込み後の管理が不便です。 取り込みの際に、「DVC00001」というような連番の番号がついたファイル名になるのですが、、 携帯電話の「microSD」内に画像フォルダがいくつか自動で作られているのですが、そのフォルダ毎にファイル名がつくため、 パソコンに取り込むと、同じファイル名で保存されてしまうことになり、画像は違うのに同じファイル名が多くなってしまい、パソコン内での画像管理が大変です。 【microSD】今現在のフォルダ内構成 100SHARP(DVC00001からの連番画像ファイル 104SHARP(DVC00001からの連番画像ファイル 105SHARP(DVC00001からの連番画像ファイル ↑PCで取り込む際に、このような状態になっているので、 各フォルダに違う画像が入っているのに、取り込む際に同じファイル名になってしまいます。 うまく取り込み&管理できる方法をご存知の方がいらっしゃいましたら教えてください。よろしくお願いします。<(_ _)>

  • ファイル名を変更したい

    ファイル名を変更したのですが サブフォルダーも含めて一発で 連番等に変えてくれるフリーソ フトを教えて下さい

  • ファイル名を一括してリネームする方法

    今画像ファイルの整理をしているのですが、1から200まで連番をふりたいと考えています。 ですが、現状ファイル名の命名規則がバラバラに成っており困っています。 具体的には、桁数によって以下のように異なっています。 一桁   1-ファイル名.jpdg 二桁  12-ファイル名.jpeg 三桁 210-ファイル名.jpeg この冒頭の数字を全て三桁にし、1→001、12→012という形に変更したいのですが ファイル数が多いため、1個ずつファイル名を変更して0を加える方法だと時間がかかります。 一括してこのファイル名の数字を3桁に変更するいい方法があれば教えて下さい。

専門家に質問してみよう