최근 365 구독버전 2104(빌드 139.6.20000 간편실행) 베타채널 이상에서는
개체 잠금 기능을 지원합니다.
Alt-F10 개체 선택 창에서 자물쇠 모양을 누르거나
마우스 우클릭 후 잠금을 선택합니다.
참고: https://m.blog.naver.com/radiobj5/222270903352
365하위버전이나 2019이하 버전에서는 아직 지원하지 않기 때문에
개체에 잠금효과를 주려면 개체(도형)를 슬라이드 마스터로 보내는 번거로운 방법을 써야만 합니다.
그래서 이 과정을 VBA로 자동화 시키고 빠른실행에 추가해서 Alt+숫자키로 빠르게 도형을 잠그고 풀 수 있도록 해보았습니다.
VBA로 개체 잠그고 풀기
Lock 매크로는 현재 선택된 도형을 감추고 이 도형을 현재 슬라이드 마스터 레이아웃에 복사합니다.
선택할 수는 없는 잠금 효과를 낼 수 있습니다.
Unlock 매크로는 현재 슬라이드 마스터에 있는 모든 잠긴 도형을 삭제하고 현재 슬라이드에 숨겨진 도형들을 다시 보이게 처리합니다.
더보기
Sub Lock_SendToMaster()
Dim sld As Slide
Dim shp As Shape
Dim layout As CustomLayout
On Error GoTo oops
Set shp = ActiveWindow.Selection.ShapeRange(1)
Set sld = shp.Parent
'현재 도형은 복사/숨기기
shp.Copy
shp.Visible = msoFalse
'현재 슬라이드마스터 레이아웃에 복제
Set layout = sld.CustomLayout
With layout.Shapes.Paste(1)
.Name = "Locked_" & shp.Name
End With
oops:
If Err Then MsgBox Err.Description
End Sub
Sub UnLock_RecoverFromMaster()
Dim sld As Slide
Dim shp As Shape
Dim i As Long, c As Long
Dim layout As CustomLayout
On Error GoTo oops
Set sld = ActiveWindow.Selection.SlideRange(1)
'현재 슬라이드마스터 레이아웃에서 복사된 도형 찾기
Set layout = sld.CustomLayout
For i = layout.Shapes.Count To 1 Step -1
Set shp = layout.Shapes(i)
If shp.Name Like "Locked_*" Then
sld.Shapes(Mid(shp.Name, 8)).Visible = msoTrue
shp.Delete
c = c + 1
End If
Next i
MsgBox c & "개의 개체가 복구되었습니다.", vbInformation
oops:
If Err Then MsgBox Err.Description
End Sub
샘플파일 참고하세요.
그밖의 방법으로는 프리젠테이션의 xml 코드에 Lock관련한 태그를 적어주는 방법도 있긴 합니다.
'PPT+VBA' 카테고리의 다른 글
그림 삽입 및 표(테이블)에 그림 삽입 VBA 매크로 (3) | 2021.11.02 |
---|---|
파워포인트파일 사용자 속성 관리 (0) | 2021.10.31 |
RGB값의 변화에 따른 LED 색상 변화 시뮬레이션 PPT (0) | 2021.10.15 |
모든 폰트목록 보기 및 클라우드 폰트 일괄 다운로드 (0) | 2021.10.09 |
자동으로 각도 그리기 (0) | 2021.09.30 |
표안의 셀들을 도형으로 변환, 각각 애니메이션 적용하기 (5) | 2021.09.20 |
PPT 슬라이드내의 글자 사용빈도 통계 (0) | 2021.09.12 |
그림효과 복사 일괄적용 (0) | 2021.09.12 |
최근댓글