주어진 문자열을 한글자씩
각 슬라이드에 가득차게 분할하는 매크로를 만들어보았습니다.
첨부파일 Alt-F11 눌러보면
str="파워포인트지식인" 에서
원하시는 문자열로 바꾸시고
F5로 매크로 실행해보세요.
- msoTextEffect10 값을 바꾸면 효과가 바뀝니다.
- .Font.Color.RGB = rgbBlue ' rgb(255,125,255) 여기서 Font 색깔도 바꿀 수 있습니다.
- 소스 아래쪽에 3차원 효과를 원하지 않으면 주석처리하세요.
매크로는 아래와 같습니다.
Sub 가득차게글자분할()
Dim pres As Presentation
Dim sld As Slide
Dim shp As Shape
Dim str As String, s As String
Dim SW As Single, SH As Single
Dim i As Integer
Dim fsize As Single
'문구 수정
str = "파워포인트지식인"
Set pres = ActivePresentation
With pres.PageSetup
SW = .SlideWidth: SH = .SlideHeight
End With
fsize = 200 '폰트크기 시작 사이즈 , max=4000
For i = 1 To Len(str)
If i = 1 Then
Set sld = pres.Slides(1)
Else
Set sld = pres.Slides.Add(pres.Slides.Count + 1, ppLayoutBlank)
End If
s = Mid(str, i, 1)
Set shp = sld.Shapes.AddTextEffect(msoTextEffect10, s, "맑은 고딕", fsize, msoTrue, msoFalse, 0, 0)
shp.Name = s
With shp.TextFrame.TextRange
.Font.Color.RGB = rgbBlue ' rgb(255,125,255)
.Font.Bold = msoTrue
'.Font.Shadow = msoTrue
'1슬라이드에서 슬라이드 가로폭크기로 최대한 폰트를 늘림
If i = 1 Then
While shp.Width < SW
.Font.Size = .Font.Size + 5
Wend
fsize = .Font.Size
End If
End With
'3차원 돌리기
With shp.TextFrame2
'.WordArtFormat = msoTextEffect10
.ThreeD.Depth = 100
.ThreeD.RotationX = -10
.ThreeD.RotationY = 10
'.ThreeD.BevelTopDepth = 100
'.ThreeD.BevelTopInset = 100
'.ThreeD.BevelBottomInset = 100
'.ThreeD.BevelBottomDepth = 100
End With
'슬라이드 가운데로
shp.Left = SW / 2 - shp.Width / 2
shp.Top = SH / 2 - shp.Height / 2
Next i
End Sub
참고로 msoTextEffect 미리설정된 효과는 아래와 같습니다.
지식인링크:
https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102&docId=330291802&page=1#answer1
'PPT+VBA' 카테고리의 다른 글
PPT 실시간 시계 또는 타이머 추가 (26) | 2019.12.17 |
---|---|
PPT 한글, 영문 폰트 및 기타 속성 일괄 변경하기 (19) | 2019.10.29 |
파워포인트에서 메뉴-서브메뉴 시스템 구현 (1) | 2019.09.05 |
여러 PPT안의 특정 단어 검색(도형 및 VBA 코드 포함 검색) (7) | 2019.07.07 |
슬라이드 이미지 분할 인쇄 및 저장 (2) | 2019.06.08 |
VBA로 슬라이드 자동 생성 - '자주 쓰는 영어속담 50개' (4) | 2019.04.16 |
ppt 슬라이드를 워드 Doc, PDF, txt 로 저장 (4) | 2019.04.05 |
PPT, Excel 등 MS 오피스 Office 2010 버전 등 구하기 (4) | 2019.03.16 |
최근댓글