참고: 지식인 원형그래프 만들기
이번에는 위와 같은 모양을 만드는 작업입니다.
그래프로 하려면 아래처럼 도넛 그래프가 되는데 각 영역의 틈을 조절할 수 없어서
윤곽선을 두껍게 처리하면 비슷하게는 만들 수 있습니다.
하지만 맨 위 사진은 선으로 그린 것으로 보입니다.
선을 그리고 복사해서 회전을 계속 시키는 방법으로 만들 수 있는데
선을 그리고 회전하는 작업을 간편하게 하기 위해서
별 (꼭지점:32개)을 그리고 조절점을 가운데로 움직이면 방사형 선 모양이 되는데
이 도형을 만들고 하나 더 복사해서 붙이고 약간만 회전시키고
가운데에 흰색 도형을 채우는 방식으로 만들 수 있습니다.
작업영상:
위와 같이 작업 후 안쪽 선의 두께를 아래처럼 조절하면 되겠습니다.
추가로....
매크로로 한번에 만들 수도 있습니다.
Alt-F11 누르고 삽입 - 모듈 삽입하고 아래 코드 넣고 F5로 실행하세요.
살 수(눈금 수)를 원하는 개수만큼 만들 수 있습니다.
여기서는 선을 두 개 그리기 귀찮아서 등호 도형(167)을 넣고 넓이를 3으로 줄여서 선처럼 보이게 하였습니다.
Const iCount As Integer = 72 '만들 개수
Sub macro()
Dim sld As Slide
Dim l!, t!, w!, h!
Dim i As Integer
Dim SW As Single, SH As Single, angle As Single
With ActivePresentation.PageSetup
SW = .SlideWidth
SH = .SlideHeight
End With
Set sld = ActiveWindow.Selection.SlideRange(1)
For i = 1 To iCount / 2
With sld.Shapes.AddShape(167, SW / 2 - 1.5, 0, 3, SH)
.Name = i
.Adjustments(1) = 0.25
.Adjustments(2) = 0.5
.Rotation = (360 / iCount) * (i - 1)
.Line.Visible = msoFalse
If i = 1 Then .Select msoTrue Else .Select msoFalse
End With
Next i
ActiveWindow.Selection.ShapeRange.Group.Name = "shape_" & iCount
End Sub
매크로 실행영상:
참고로 여기서 등호기호를 이용하는데
등호 도형의 조절점 값 중
Adjustments(1) 은 등호도형 하나의 높이이고
Adjustments(2)는 중앙으로부터 떨어진 거리값입니다.
각각의 값은 슬라이드 전체크기(높이) 를 1로 보고
비례한 값으로 절반크기가 0.5이고 1/4 크기가 0.25입니다.
지금까지의 세 가지 방식으로 만들어 본 샘플 파일을 첨부합니다.
참고: 지식인 시계눈금 자동 그리기:
https://kin.naver.com/qna/detail.naver?d1id=1&dirId=102020103&docId=406359163
수정된 코드:
Const iCount As Integer = 120 '만들 개수
Sub macro()
Dim sld As Slide
Dim i As Integer
Dim SW As Single, SH As Single, angle As Single
Dim sWidth As Single
Dim lColor As Long
With ActivePresentation.PageSetup
SW = .SlideWidth
SH = .SlideHeight
End With
Set sld = ActiveWindow.Selection.SlideRange(1)
sWidth = 3 '눈금 도형 두께(등호 도형의 넓이)
lColor = RGB(255, 127, 127) '눈금 도형 색깔
For i = 1 To iCount / 2
'167=등호기호
With sld.Shapes.AddShape(167, SW / 2 - sWidth / 2, 0, sWidth, SH)
.Name = i
.Adjustments(1) = 0.02
.Adjustments(2) = 0.98
.Rotation = (360 / iCount) * (i - 1)
.Fill.ForeColor.RGB = lColor
'10개마다 진하게
If (i - 1) Mod 10 = 0 Then
.Line.Visible = msoTrue: .Line.Weight = 5
.Line.ForeColor.RGB = lColor
Else
.Line.Visible = msoFalse
End If
If i = 1 Then .Select msoTrue Else .Select msoFalse
End With
Next i
ActiveWindow.Selection.ShapeRange.Group.Name = "shape_" & iCount
End Sub
'PPT+VBA' 카테고리의 다른 글
타이머 바(bar) 만들기 2가지 방법 (0) | 2021.12.19 |
---|---|
글머리 기호 일괄 삭제 (0) | 2021.12.11 |
파워포인트 내 문자열 검색 (0) | 2021.12.09 |
2007에서 애니메이션 복사 기능 구현 (0) | 2021.12.05 |
클릭 시 표 도형이 펼쳐지는 효과 일괄 추가하기 (0) | 2021.11.26 |
ppt에 여러 개의 오디오가 연속으로 재생되게 하는 팁 (0) | 2021.11.14 |
실시간 오디오 재생 위치 및 바(Progress bar) 표시 (0) | 2021.11.06 |
그림 삽입 및 표(테이블)에 그림 삽입 VBA 매크로 (3) | 2021.11.02 |
최근댓글