728x90
shape
-
VBA/Shape간 순환코딩/vba 2024. 1. 11. 04:37
아래 PowerPoint에서 작성한 두 프로그램이 있다. 표면상으로는 첫번째 프로그램이 더 길고 불필요하게 느껴지고 두번째가 더 간결하다. Shape을 사진인지 판단하고 사진이면 위치와 크기를 변화시키고 사진이 아니면 앞으로 가져온다. 하지만 두번째 코드는 잘 작동하지 않는다. ZOrder를 변경시킴으로 인해 shps 컬렉션에 영향을 끼친다. Shapes(1)은 ZOrder가 가장 아래인 개체를 뜻하는데 ZOrder를 사용함으로 인해 Shapes의 인덱스가 변해서 그렇다. 그래서 ZOrder는 사진만 정렬시킨 후 별도로 코드를 만들어야 했다. For Each shp In shps If shp.Type = msoPicture Then With shp .Top = positions(0)(0) .Left = ..