[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAで画像貼り付けの位置指定したい』(nai)
現在、フォルダ内の画像を1枚目の位置を上から10ポイントに指定、二枚目以降5ポイント間隔で張り付けるコードを書きました。
これを、
1枚目:上からポイント10の位置に貼り付け
2〜4枚目:ポイント5間隔で張り付け
5枚目:4枚目からポイント10の位置に貼り付け
6〜9枚目:ポイント5間隔で張り付け
・・・
としたいのですがどうすればよいのでしょうか。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
お返事ありがとうございます。
コードは以下です。
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
(nai) 2020/07/14(火) 12:13
回答者への参考として。
[[20200713201750]] 『VBA画像貼り付けのループについて』(さく)
(OK) 2020/07/14(火) 12:39
>OKさん
ありがとうございます。
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
'ここに画像間隔を調整するコードを書く '(カウンタが3の倍数の時だけアホみたいに値が増えるコード等)
lngTop = lngTop + 150 + 16 '16の値を調整された値に書き換え Next
(苫) 2020/07/14(火) 12:46
>カウンタが3の倍数の時だけアホみたいに値が増える
今の若い人はわからないかも?? (OK) 2020/07/14(火) 12:48
コードですが現在このようになっています。
挿入した画像の枚数をカウントする方法がわからず困っています...
Sub 画像貼り付け()
Dim lngTop As Long
Dim objFile As Object
Dim objFldr As FileSystemObject
Dim TheShape As Shape
Dim i As Integer
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:=250, _ Height:=150 i = 0 i = i + 1
If i Mod 4 = 1 Then
lngTop = lngTop + 150 + 50
Else lngTop = lngTop + 150 + 15 End If Next
End Sub
(nai) 2020/07/14(火) 14:26
>i = 0 >i = i + 1
ループの中でカウンタを初期化しちゃってますよ。
i = 0 を For Each objFile 〜 の前にしてください。 (OK) 2020/07/14(火) 14:30
本当にありがとうございます。
(nai) 2020/07/14(火) 17:49
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.