[[20200713201750]] 『VBA画像貼り付けのループについて』(さく) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA画像貼り付けのループについて』(さく)

VBA画像貼り付けのループについて。

フォルダ内の画像をFor Each構文を使い、シートに張り付けるコードを書きました。
さらに、写真を4枚挿入するごとに次のページに挿入するような仕様にしたいのですがどのようにすれば良いのでしょうか。

(具体的に)
1ページ目 写真1〜4
2ページ目 写真5〜6といった具合です。

現在のコードは以下です。
ご知恵をお貸し頂ければ幸いです。

Dim lngTop As Long
Dim objFile As Object
Dim objFldr As FileSystemObject

 Set objFldr = CreateObject("Scripting.FileSystemObject")

 lngTop = 45

 For Each objFile In objFldr.GetFolder(ThisWorkbook.Path &"\picture").Files
 ActiveSheet.Shapes.AddPicture _
 Filename:=objFile, _
 LinkToFile:=False, _
 SaveWithDocument:=True, _
 Left:=11, _
 Top:=lngTop, _
 Width:=200, _
 Height:=150

 lngTop = lngTop + 150 + 16 
 Next

End Sub

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 参考まで。

Sub test()

 Dim i As Integer
 Dim rw As Integer
 Dim col As Integer
 Dim mycol As Integer
   mycol = 4
   For i = 1 To 25
    col = i Mod mycol
    rw = i \ mycol + 1
    If col = 0 Then
       col = mycol
       rw = rw - 1
    End If
    ActiveSheet.Cells(rw, col).Value = i
   Next i
End Sub

(OK) 2020/07/13(月) 20:27


 フォルダ内のファイルをループで取得する場合は、隠しファイルに注意が必要でです。

 目に見えない画像以外のファイルが存在する可能性があります。
 拡張子を指定するか、限定したほうがいいです。
(OK) 2020/07/13(月) 20:32

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.