- 締切済み
エクスプローラーからEXCELシートへ?
エクスプローラーに表示されている写真を複数枚選択し、EXCELシート上に縦に重ならないように一気に並べる方法ってありますか? また、サイズを一気に縮小したいのですが…。 それらの横に個々の写真の説明(エピソードなど)を入力しようとしてます。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- HohoPapa
- ベストアンサー率65% (455/693)
VBAのマクロ、さらに、 ファイル選択ダイアログを使うインターフェースでよければ 後記コードをお試しください。 画像のサイズは、高さはセルの高さ、 幅は高さから自動的に求めています。 Option Explicit '---------定数たちの定義 Const StatRow = 2 '何行目の Const StatCol = 2 '何列目から開始 Const RowIVal = 2 '何行間隔で Sub sample() Dim r As Long Dim PutSht As Worksheet '出力先シート Dim openFilePath As Variant Dim pt As Variant Set PutSht = ThisWorkbook.Sheets(1) '出力先シート openFilePath = Application.GetOpenFilename _ ("写真ファイル,*.jpg", , "写真ファイルを選んで下さい", MultiSelect:=True) r = StatRow If IsArray(openFilePath) Then For Each pt In openFilePath PutJpg pt, PutSht, r r = r + RowIVal Next pt End If PutSht.Cells(1, 1).Select End Sub '//--------------------------------------------------------- Sub PutJpg(pt As Variant, PutSht As Worksheet, PutRow As Long) PutSht.Pictures.Insert(pt).Select Selection.Name = Dir(pt) PutSht.Shapes(Selection.Name).LockAspectRatio = True With Selection .ShapeRange.Top = PutSht.Cells(PutRow, StatCol).Top .ShapeRange.Left = PutSht.Cells(PutRow, StatCol).Left .Width = PutSht.Cells(PutRow, StatCol).Width .Height = PutSht.Cells(PutRow, StatCol).Height End With End Sub
- iyonohanamuko
- ベストアンサー率54% (6740/12373)
マクロを使わずに…アナログなやり方ですが、 Ctrlで複数選択してエクセルに画像を挿入します。 挿入した画像全て選択されている状態になっていると思いますので 右クリック→サイズとプロパティで任意のサイズに指定すると全てそのサイズになります。 オブジェクトの選択でマウスドラッグスクロールで画像を横に並べる分だけ複数指定し、見やすい位置まで持っていきます(切り取り&貼り付けでも) 一番右にある画像だけを印刷範囲ギリギリ右端まで寄せます。 改めて横一列にさせたい画像をオブジェクトの選択でマウスドラッグスクロールさせ指定し図ツールの配置-左右に整列を選択し、均等に配置させます。 そうやって2列、3列と作っていく…という具合で私は並べています… あらかじめ、サイズやレイアウト場所を決めておいて画像を置く場所のセルを作っておくとやりやすいかもです。
- okok456
- ベストアンサー率43% (2746/6352)
こちらを参考に Excel VBA:複数の画像ファイルを一括でExcelに挿入、指定したセルに移動、サイズ変更するサンプルプログラム https://selifelog.com/blog-entry-1468.html EXCELで複数画像を一括挿入貼り付け!VBA(マクロ)で作っちゃいました。 https://excelkamiwaza.com/gazou_ikkatu.html