파워포인트에서는 그림에 대해 

수정메뉴에서 선명도(Sharpen/Blur), 밝기/대비(Brightness/Contrast) 효과를,

색메뉴에서 채도(Saturation), 색조, 다시칠하기(Recolor)

꾸밈효과메뉴에서 여러가지 꾸밈효과

365구독버전에서는 투명도까지 

지원합니다.

 

 

슬라이드의 모든 그림에 대해 일일이 똑같은 그림효과를 적용하는 것이 어렵습니다.

서식복사도 작동하지 않습니다.

 

이런 경우 VBA로 특정 그림의 그림효과들을 복사해서

다른 모듬 그림에 그림효과를 일괄로 적용할 수 있습니다.

 

1슬라이드의 그림에 몇가지 효과를 적용한 뒤에 ApplyPictureEffects 를 실행하는 시연 영상입니다.

더보기
Sub applyPictureEffects()

    Dim shpFrom As Shape, shp As Shape
    Dim sld As Slide
    Dim pres As Presentation
    Dim eft As PictureEffects
    Dim i%, j%
    
    '현재 선택된 그림의 설정을 복사
    Set shpFrom = ActiveWindow.Selection.ShapeRange(1)
    Set pres = shpFrom.Parent.Parent
    Set eft = shpFrom.Fill.PictureEffects
       
    For Each sld In pres.Slides

        For Each shp In sld.Shapes

            If shp.Type = msoPicture And Not shp Is shpFrom Then

                With shp.Fill.PictureEffects
                    'first remove all picture effects
                    While .Count > 0
                        .Delete (1)
                    Wend
                    'copy and apply effects
                    For i = 1 To eft.Count
                        .Insert (eft.Item(i).Type)
                        For j = 1 To eft.Item(i).EffectParameters.Count
                            .Item(i).EffectParameters(j).Value = eft.Item(i).EffectParameters.Item(j).Value
                            DoEvents
                        Next j
                    Next i
                    
                End With
                
            End If
            
        Next shp
    Next sld
    
End Sub

그림개체.Fill.PictureEffects 가 collection 구조로 이루어져 있고

각 item 마다 다시 여러가지 하위 collection이 들어있어서 접근 구조가 어려울 수 있습니다.

일단 기존의 PictureEffect를 모두 삭제하고 나서

각각의 PictureEffect 아래에 EffectParameter의 개수만큼 복사해서 적용하는 식입니다.

 

일단은 현재 선택된 기준 PictureEffect들을 복사해서 다른 그림들에 일괄 적용하는데

Shadow나 Glow, Reflection 등 다른 속성은 더 추가를 해줘야합니다.

 

아래 샘플 파일은 Stock Image 를 몇개를 대상으로 1슬라이드의 그림 효과를 다른 그림들에 적용하는 예제입니다.

 

ApplyPictureEffects1.pptm
5.62MB