파워포인트 현재 슬라이드를 윈도우 바탕화면으로 설정하는 코드입니다.
시간표나 일정표, 달력, 외울 것 같은 것을 파워포인트에서 만들고 자주 확인하기 위해서
윈도우 바탕화면으로 바로 설정할 때 유용하겠습니다.
👆 디자인-슬라이드 크기에서 윈도우 바탕화면 비율에 맞게 설정해야 그림비율이 유지됩니다.
아래는 1920 * 1080 크기로 png 파일을 저장해서 바탕화면으로 설정하기 때문에
슬라이드 크기를 16:9 로 하는 것이 좋습니다.
가로 넓이를 변경하면 세로 높이는 슬라이드 비율에 의해 자동 반영됩니다.
✌ 현재 슬라이드를 이미지로 저장해서 바탕으로 설정하기 때문에 슬라이드가 최소 1 개 선택되어 있어야 합니다.
🤞 임시로 작성된 png파일은 설정 후 삭제됩니다.
더보기
Private Const SPI_SETDESKWALLPAPER = 20
Private Const SPIF_SENDWININICHANGE = &H2
Private Const SPIF_UPDATEINIFILE = &H1
Private Declare PtrSafe Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _
(ByVal uAction As Long, ByVal uParam As Long, _
ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Function SetWallpaper(ByVal FileName As String)
Dim ret As Long
ret = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0&, FileName, _
SPIF_SENDWININICHANGE Or SPIF_UPDATEINIFILE)
End Function
'//현재 슬라이드를 바탕화면 배경으로 지정
'//슬라이드 디자인을 16:9로 미리 설정하는 것을 권장
Sub SetCurrentSlideAsWallpaper()
Dim pngFile As String
With ActivePresentation
w = 1920 '2010버전의 경우 최대 3072px '2019의 경우 9216px도 가능
h = w * (.PageSetup.SlideHeight / .PageSetup.SlideWidth) ' 비율유지한 상태로 최대 세로크기
pngFile = .Path & "\PIC_" & Format(Now, "YYMMDD_HHNNSS") & ".png"
With ActiveWindow.Selection.SlideRange(1)
.Export pngFile, "PNG", w, h
End With
End With
SetWallpaper pngFile
Kill pngFile
End Sub
참고: 이미지파일을 화면에 맞게 확장할지 여부나 Tile로 할 것인지 등은 레지스트리를 수정해야겠습니다.
또한 윈7이전버전에서는 bmp이미지만 지원합니다.
'PPT+VBA' 카테고리의 다른 글
사진 일괄 삽입 매크로 (3) | 2021.06.08 |
---|---|
텍스트상자와 배경도형 정렬 (0) | 2021.05.31 |
ppt를 그림 프리젠테이션으로 저장 (1) | 2021.05.12 |
ppt 스톱워치 - 타이머 누적 기록 (3) | 2021.04.22 |
MS파워포인트 버전별 차이점 정리 (0) | 2021.01.26 |
PPT 소책자(Booklet) 인쇄 (0) | 2021.01.09 |
도형병합으로 정다각형(Regular Polygon) 그리기 (4) | 2020.12.16 |
PPT 홀수, 짝수페이지 따로 출력하기 (수동 양면 출력) (1) | 2020.12.02 |
최근댓글