数十枚からまんべんなく画像を選択したい
各フォルダに数十枚のjpgファイルが入っています。
VBAを使ってExcelにまんべんなく6枚をピックし貼り付けたいです。
どのようなアルゴリズムやループ処理をつかうべきでしょうか?
現在のファイル全貼り付けコード
Option Explicit
Sub showTargetImage()
Dim Path, buf As String Dim lngLeft, lngTop As Long Path = ThisWorkbook.Path buf = Dir(Path + "\target\" + "*.jpg") lngLeft = 296 Do While buf <> "" With Sheets("view").Pictures.Insert(Path + "\target\" + buf) .Top = 106.875 .Left = lngLeft .Width = 53 .Height = 30 lngLeft = lngLeft + 53 + 5 Application.Wait [Now()] + 350 / 86400000 End With Application.Wait [Now()] + 350 / 86400000 buf = Dir() Loop
End Sub
元画像のオリジナルサイズ(縦横の画素数)は、すべて同じなのでしょうか?それともバラバラなのでしょうか?
また、「まんべんなく」というのは、サイズが異なる画像の場合は
拡大縮小して6枚とも同じサイズにし、任意の位置に隙間なく並べる、という意味でしょうか?それとも、画像フォルダからの選択がランダムになるように、という意味でしょうか?
また、画像の並べ方(たとえば「横3列✕縦2行」等)は指定できた方がよいのでしょうか?
>元画像のオリジナルサイズ(縦横の画素数)は、すべて同じなのでしょうか?それともバラバラなのでしょうか?
→全て同じです。
>また、「まんべんなく」というのは、サイズが異なる画像の場合は
拡大縮小して6枚とも同じサイズにし、任意の位置に隙間なく並べる、という意味でしょうか?それとも、画像フォルダからの選択がランダムになるように、という意味でしょうか?
→同じサイズにし、均等な隙間で並べたいです(現在横1列隙間5の間隔)
画像が動画を切ったものなので、例えば60秒60枚のデータがあったとしたら、いい感じに60秒追えるような感覚で選択したいです。
>また、画像の並べ方(たとえば「横3列✕縦2行」等)は指定できた方がよいのでしょうか?
→横1列6枚を貼り付けたいです。
回答1件
あなたの回答
tips
プレビュー