• 締切済み

エクセルにフォルダにある画像を貼付&整列する方法

下記にあるマクロより、 選択したフォルダ内の画像ファイル(jpgファイル)すべてをA列に挿入、 B列にA列のファイル名の書き込みは出来ましたが、、、 この画像ファイルをファイル名ごとに整列する方法をお教え願います。 目的は、画像を横に並べ写真を比較したいです。 (例) 頭に「1」が付くファイル名・・・A列 頭に「2」が付くファイル名・・・C列 頭に「3」が付くファイル名・・・E列 よろしくお願いします。 (マクロ) Sub InsertPictures()  Dim i As Integer  Dim myDir As String  Const myHeight = 200 '行の高さ。0-409を指定。写真のサイズがこれで調整される。  Const myWidth = 50 '列の幅。0 - 255を指定。  Dim myFName As String    myDir = Application.GetOpenFilename(FileFilter:="すべての図(*.jpg),*.jpg")  If myDir = "False" Then Exit Sub  myDir = Left(myDir, Len(myDir) - Len(Dir(myDir)))    Application.ScreenUpdating = False   ActiveSheet.DrawingObjects.Delete   Columns(2).ClearContents   Rows.AutoFit      i = 1   myFName = Dir(myDir & "*.jpg")     Do While myFName <> ""    With Cells(i, 1)     .Activate     .RowHeight = myHeight    End With    With ActiveSheet     .Pictures.Insert myDir & myFName     With .Shapes(i)      .LockAspectRatio = msoTrue      .Height = myHeight     End With    End With    Cells(i, 2).Value = myFName    myFName = Dir    i = i + 1   Loop   Columns(1).ColumnWidth = myWidth   Columns(2).AutoFit  Application.ScreenUpdating = True End Sub

みんなの回答

回答No.1

殆どできてますね。 Dir関数?で得られるファイルリストは、名前でソートされていることが保証されないようなので、初めにソートするだけ? 後はこのファイル名の配列に従って、列に振分ければ完成でしょう!? DOSのDIRコマンドには名前でソートする「/on」オプションがあるのでシェルを使えばできる??

関連するQ&A