• ベストアンサー

画像サイズをファイル名に

misatoannaの回答

回答No.4

すでに簡単に処理できる回答が出ていますが、とりあえずExcelマクロ を使った処理も考えてみました。画像の横×縦サイズを取得します。 例えば MyPet.jpg を MyPet_400×300.jpg にします。 1.フォルダA内は画像ファイルのみとします。 2.名前を変更したファイルを格納するフォルダBを作成します。 3.セルA1にフォルダAのフルパス、A2にフォルダBのフルパスを入力   します。(フルパスの末尾には ¥ をつけないでください) 4.Visual Basic Edior の標準モジュールに下記を記述(コピペ)して  実行します。    このまま実行すると、元ファイルをフォルダAに残したまま変更後  ファイルをフォルダBにコピーします。  元ファイルを自動的に削除してよい場合は、モジュール内の"ア"の  行の先頭の "'" を"イ"の行の先頭に移動します。  Sub AddSizeToName()   Dim FPath1, FPath2, FName1, FName2   DIm fMain, fExt, PIC, Tate, Yoko   FPath1 = Range("A1").Value & "\" '変更前フォルダ   FPath2 = Range("A2").Value & "\" '変更後格納フォルダ   On Error Resume Next   MkDir$ FPath2 '変更後用フォルダが存在しない場合は作成   FName1 = Dir$(FPath1 & "*.*")   Do Until FName1 = ""    fMain = Left(FName1, InStrRev(FName1, ".") - 1)    fExt = Right(FName1, Len(FName1) - InStrRev(FName1, ".") + 1)    Set PIC = LoadPicture(Range("A1").Value & "\" & FName1)    Yoko = Int(PIC.Width / 26.455026455)    Tate = Int(PIC.Height / 26.455026455)    FName2 = "\" & fMain & "_" & Yoko & "×" & Tate & fExt    'Name FPath1 & FName1 As FPath2 & FName2   'ア    FileCopy FPath1 & FName1, FPath2 & FName2  'イ    Set PIC = Nothing    FName1 = Dir$   Loop  End Sub 縦×横のサイズをそのままファイル名にすると、同じ名前のファイル ができたときに処理が複雑になってしまいますので、避けました。

batumaru53
質問者

お礼

回答ありがとうございます。 早速試してみました、感激です! 「LoadPicture」こう言う関数があったんですね。 教えていただいたコードを真似して、 自分用にVBSで作った物を使用させて頂きます。 本当にありがとうございました。

関連するQ&A

  • 画像のサイズを変更したいのですが・・・・・・

    画像のサイズを変更したいのですが・・・・・・ 何か良いフリーソフト又はサイト(HP)ありませんか? 出来れば縦と横のピクセルを強制的に変えたいです サイズは縦960ピクセル横1280ピクセルに設定したいです 画像を付けました(この画像のサイズを変更)

  • 画像のサイズ変更

    横849PX 縦328PXの絵を作ろうとおもっています。 しかし、いくつかのソフトでそのサイズの変更をしてみても うまくいきませんでした。 調べてみると、元の画像のバランスを崩さないように 縦が横のサイズにあわせたり、横が縦のサイズにあわせたりしているようです。 (400×400の設定で800×600の画像を縮小しても 400×400にはならず400×300になります。) 絵は手書きで友人に描いてもらい、それをスキャナーでとりこみ パソコンでサイズ設定をするつもりなので いきなり「849×328」のサイズで書くことなんてたぶん出来ません。 このソフトを使えば上手くいく、こうすれば簡単。など 教えて下さい。よろしくお願いします。

  • デジカメ画像のサイズ変更の方法。

    Flashを利用したフォトアルバムで使用する為、 JPEGで保存してある画像を 横240ピクセル×縦180ピクセル にサイズ変更したいのです。 私のパソコンにAdobe PhotoDeluxeがインストールされていたのでそれでサイズ変更をしてみたのですが、 Jpeg形式のままの保存ができませんでした。 1、Jpeg形式のままサイズを上記サイズに変更するにはどのような方法があるでしょうか? フリーソフトなどありましたら教えてください。 2、また、複数枚の画像を一括でサイズ変更する方法もあれば教えてください。 3、横サイズの画像はよいのですが、縦の画像については240×180の白い地の上に縦型の画像を貼り付けて作らなくてはならないらしいのですが、その方法もいまいちわかりません。 一度にたくさんの質問で申し訳ありませんがよろしくお願いいたします。 説明に不備があれば補足いたします。

  • 大量の画像ファイルのサイズを変更するソフト

    大量の画像を一気に変更したいです。 いろんな横×縦のサイズの画像があるのですが、すべての画像の縦横比を統一にして、横を100ピクセルにする ことができるソフトってありますか? もし知っている方がいらっしゃいましたらよろしくお願いします。

  • 添付画像のサイズ

    投稿を行う際の画像添付の注意書きで、「ファイル容量:2MBまで、最大 サイズ(横420×縦315)を超えている場合、最大サイズに収まるよう画像は 縮小されます。」となっている場合、 例えば手持ちのファイルが272KBで1588×1123ピクセルなので、注意書き での2MBいっぱいのファイルを添付しようとすれば、とうてい最大サイズ (横420×縦315)内に収まらず、巨大なサイズ(横×縦)になると思うのです が、なぜ(横420×縦315)となっているのでしょう。よろしくお願いします。

  • 画像サイズの変更

    ダウンロードしてきた画像のサイズを変更したいのですが 縦と横の倍率が同じになってしまいうまくできません。 300*400の画像を250*250みたいにサイズをかえたいのですが。

  • エクセルに張り付けている画像をVBAで指定の範囲を削除し、画像サイズを

    エクセルに張り付けている画像をVBAで指定の範囲を削除し、画像サイズを変更させることは可能でしょうか?似たように情報は見ましたが、どれも上手くいかずに困っています。具体的には、縦1000×横1200の画像があります。(上50、下80、左150、右200)を削除し、縦870×横850の画像にし、さらに90%にサイズをトリミングし、縦435×横425としたいのです。これをVBAで一発で行う方法があれば教えて下さい。また、同じシート、異なるシートに複数の画像があった場合、全てを同時にできましたらなお良いです。以上、宜しくお願いいたします。

  • 一括で画像をサイズ変更出来るソフト

    複数の画像の縦×横の大きさを一括で指定したサイズに変更できるフリーツールってありますか? サイズを指定したら、縦×横の比率を変えて指定したサイズに変更してくれる感じのツールを探しています。 そういう機能を持っているツール、または代用できそうなツールを知っている方がいましたら教えてください。 なるべくならドラッグ&ドロップで簡単に出来て、保存先を指定できるものがいいです。

  • 画像のファイルサイズの怪

     Win98です。画像ビューワとして、Microsoft Photo Editorが付いています。  ネットからjpg画像をダウンロードしました。ファイルサイズは800KBでした。  これをMicrosoft Photo Editorで開きました。メニューバーの「ファイル」-「プロパティ」を選択して出てくる小ウインドウには、解像度=118とありました。  この解像度を例えば倍の236に変更して、ファイルを「変更保存」すると、ファイルサイズは350KBになっていました(半分以下!)。  別の画像ファイルも、ファイルサイズ1,000KB、解像度=118で、解像度を236に変更したらファイルサイズは420KB。  要するに、すべてのファイルの当初解像度が118。その解像度を変更してファイルを「変更保存」するとファイルサイズが大幅減少。あらゆるjpg画像ファイルが同じ挙動なのです。  一体、これは、どういうカラクリなのでしょうか。同じ経験された方、いらっしゃいませんでしょうか。

  • 画像のファイルサイズと画像サイズを変換するソフトウェア

    画像を一括で変換するフリーウェアを探しています。 機能としては、 画像サイズを任意のサイズに ファイルサイズを任意のサイズに フォルダ内の画像ファイルを一括変換する(複数ファイルを一括で変換でもいいです) もしできればリネーム機能もついているといいです。 画像フォーマット変換機能もついていればなおいいですが・・・。 こんな便利なソフトないでしょうか? BatchGOOはファイルサイズの決定とリネーム機能がついていませんでした。