いつもお世話になっております。
以前画像をフォルダから取り込み貼り付けるコードについて質問いたしました。
画像の位置や間隔などはお陰様で完璧に貼り付けることが出来るようになりました。
一つ改善したいところがあるのですが、フォルダの並び順に画像を貼り付けることはできないでしょうか。
現在はフォルダ内で名前の変更をし並べ替え、その上でエクセルに取り込むことで張り付けの順番を指定していたつもりでした。
たまにフォルダ内の順番と実際に貼りつく順番が異なっています。
コードに問題があるのでしょうか。
エクセルに貼り付ける順番を指定したいです。
vba
1Sub 画像貼り付け() 2 3 Dim objFile As Object 4 Dim objFldr As FileSystemObject 5 Dim TheShape As Shape 6 Dim i As Integer 7 Dim x, y As Integer 8 Dim r As Integer 9 Dim h As Integer 10 Const Y_NUM = 4 11 Const Y_ROWS = 13 12 13 Set objFldr = CreateObject("Scripting.FileSystemObject") 14 15 i = 0 16 17 For Each objFile In objFldr.GetFolder(ThisWorkbook.Path & "\全景").Files 18 19 If LCase(objFile) Like "*.jpg" Then 20 21 r = i * Y_ROWS + 4 22 r = r + 4 * Int(i / Y_NUM) 23 x = ActiveSheet.Cells(r, 2).Left 24 y = ActiveSheet.Cells(r, 1).Top 25 h = ActiveSheet.Cells(r + Y_ROWS - 1, 1).Top - ActiveSheet.Cells(r, 1).Top 26 27 ActiveSheet.shapes.AddPicture _ 28 Filename:=objFile, _ 29 LinkToFile:=False, _ 30 SaveWithDocument:=True, _ 31 Left:=x, _ 32 Top:=y, _ 33 Width:=250, _ 34 Height:=h 35 36 i = i + 1 37 End If 38 Next 39 40End Sub 41
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/04 01:23