파워포인트(ppt) 텍스트 서식 한꺼번에 적용하기(볼드, 이탤릭)
파워포인트를 쓰다보면,
100장이 넘는 문서에 폰트나 텍스트 서식을 한꺼번에 바꾸려면,암담할 때가 있다.
폰트 바꾸기 기능은 있지만, 서식을 일괄로 바꾸는 기능은 아직 없는 것 같다.
VBA로 한번 해보자.
그냥 샘플로, 2개의 슬라이드를 준비했다.
1번은 그냥 텍스트 박스.
2번은 표안에 있는 텍스트.
구조는 아래와 같다.
1. 전체슬라이드를 대상으로 슬라이드별 쉐이프를 순서대로 검사한다.
2. (IF)텍스트박스면 안에 있는 텍스트에 볼드와 이탤릭 효과를 준다.
3. (ELSEIF) 표이면, 표 셀을 하나하나씩 검사하여 텍스트에 볼드와 이탤릭 효과를 준다.
4. 그렇지 않으면, IF 구문을 빠져나간다.
IF 구문을 쓰지 않으면 복잡하지 않았을텐데, 그림이나 표에서 에러가 난다.
[코드샘플]
Sub outL_off()
Dim x As Integer
Dim y As Integer
GG:
전체슬라이드수 = ActivePresentation.Slides.Count
For x = 1 To 전체슬라이드수
슬라이드안에있는도형수 = ActivePresentation.Slides(x).Shapes().Count
For y = 1 To 슬라이드안에있는도형수
If ActivePresentation.Slides(x).Shapes(y).HasTextFrame Then
With ActivePresentation.Slides(x).Shapes(y).TextFrame2.TextRange.Font
.Bold = True
.Italic = True
End With
ElseIf ActivePresentation.Slides(x).Shapes(y).HasTable = True Then
endR = ActivePresentation.Slides(x).Shapes(y).Table.Rows.Count
endC = ActivePresentation.Slides(x).Shapes(y).Table.Columns.Count
For R = 1 To endR
For C = 1 To endC
With ActivePresentation.Slides(x).Shapes(y).Table.Cell(R, C).Shape.TextFrame2.TextRange.Font
.Bold = True
.Italic = True
End With
Next C
Next R
ElseIf ActivePresentation.Slides(x).Shapes(y).Type = msoGroup Then
ActivePresentation.Slides(x).Shapes(y).Ungroup
GoTo GG:
Else
GoTo DD:
End If
DD:
Next y
Next x
End Sub
실행결과는 아래와 같다.
파워포인트 VBA는 정보를 찾기가 정말 어렵다.
다들 잘 알아서 해보시길...