Office2007からエクセルに備わっている画像トリミング機能を使用して、複数ファイルをまとめてトリミングするマクロを作成しました。エクセルに画像トリミング機能が備わっていない場合は、数値を直接入力してもらって、画像に適応させて、調節可能としました。
2024/5/7に問い合わせをいただいたので、追記します。Online Excelでエクセルマクロは動作しませんので、ご注意ください。Windows PC上で動作するエクセルで起動してください。Macやスマホ、タブレット(windowsタブレットを除く)では、起動できません。
入力フォルダ配下にある全画像ファイルを出力フォルダ配下に同じファイル名でトリミングした画像を保存します。
画像ファイルとして認識可能なのは、「JPEG」(.jpg/.jpeg),「PNG」(.png),「BMP」(.bmp),「GIF」(.gif)になります。
入力先フォルダを指定すると、「ファイルリスト」シートに対処にできる画像ファイル一覧が表示され、トップ画像が、右側に表示されます。
出力先フォルダも指定します。注意※ 保存されない場合があるという問い合わせがありました。出力フォルダパスとファイル名を合わせて256文字以内で使用してください。また、確認環境はWindowsです。Macでは、画像を開く処理や保存処理をMacの仕様に合わせる必要があります。
Office2007以降のエクセルの場合、右に表示された画像に対して、エクセルのトリミング機能を使用して、トリミングします。画像を選択して、右クリックすると、トリミング機能を呼び出せます。下の画像は、エクセルをスクリーンショットした画像をマクロファイル内で表示させています。スタイルの隣に表示されているトリミングを選択します。
画像のコーナーや辺の中央にカーソルを合わせてカーソルがトリミングアイコンになったことを確認してからドラッグしてください。(コーナーであれば、ほんの少し内側にカーソルを合わせると「マークが表示されます。)
この状態で、画像の上にある「カットサイズ取得」ボタンを押すと、カットされたサイズが左下に設定されます。
エクセルにトリミング機能が備わっていない場合は、セルに直接カットサイズの数値を入力して、カットサイズ下にある「カットサイズを画像に反映」ボタンをクリックすることで、右に表示されている画像にトリミング後の画像イメージを表示させることができます。
画像の上にある「この画像を保存」をクリックすると、表示中の画像単体を出力先フォルダへ保存し、ファイルリストから外します。
他の画像にこのカットサイズを適応したときの見た目を確認する場合は、「次の画像表示」ボタンをクリックします。新しい画像はカットサイズに合わせて、トリミング後の画像イメージが表示されます。画像が表示される順序は、ファイルリストの上から順番になります。
ファイルリスト内に不要なファイルが含まれていて、表示中の画像が不要な場合は、「この画像は除外」ボタンをクリックすることで、ファイルリストから削除します。不要ファイルが複数ある場合は、「ファイルリスト」シートから直接行削除することでも対応可能です。
表示されている画像のトリミング後の画像に対して、カット前の画像に戻して再調整を行いたい場合は、「カットサイズリセット」ボタンをクリックすることで、カット前の画像を表示させることが可能です。この場合、保存されていたカットサイズはリセットされるため、保存されているカットサイズが不要な場合にだけ使用してください。
カットサイズと適応させるファイルが確定したら、「全画像をトリミング」ボタンをクリックすることで、ファイルリスト内の画像を出力先フォルダへまとめて保存できます。
ファイルリストの表示順位は、エクセルの文字列ソートではなく、エクスプローラに使用される数字を認識してソートする方式を採用しています。画像をまとめて同じようにトリミングする場合、ファイル名に数値を入れて順番を意識することが多いためこの方法にしました。
下記からダウンロードしたエクセルファイルを起動し、コンテンツの有効化を行う。
2024/5に問い合わせいただいた為、補足を追記します。Windows PCにインストールされているExcelで起動してください。Htmlで起動する場合は、Online Excelで起動しており、マクロは動作できません。
マクロの有効化手順については、こちらも参考にしてください。
2024/8/5追記 最近、OneDriveの影響(?)で、保存フォルダが辿りづらくなったようなので、保存フォルダを開くボタンを追加しました。