[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.