관련: 지식인

 

 

파워포인트 슬라이드 쇼에서는 숫자 누르고 엔터를 치면 해당 숫자 슬라이드로 이동하지만

편집 상태에서는 이러한 기능을 지원하지 않습니다.

지원하지 않지만 종종 요구되는 기능이기도 합니다.

VBA로도 일반 편집 모드에서 키보드 숫자에 반응하기 어렵습니다.

이럴 때 AutoHotkey를 이용하는 것이 효율적입니다.

첨부한 Jump2Slide.exe 를 다운받아 실행하세요.

 

 

 

여기서 확인을 누릅니다. 상태표시줄로 최소화됩니다.

이제 파워포인트 슬라이드 편집창에서

Ctrl을 누른 채로 원하는 슬라이드 번호 숫자를 누르고 Ctrl 키를 뗍니다.

Ctrl에서 손을 떼는 순간 해당 슬라이드로 바로 이동합니다.

 

 

 

 

예를 들어 1슬라이드 편집하다가 Ctrl+3을 누르면  Ctrl 을 떼는 순간 3슬라이드로 바로 이동합니다.

 

 

한 자리 수뿐만 아니라 그 이상도 가능합니다.

Ctrl을 누르고 13을 입력하고 Ctrl 을 떼면 13 슬라이드로 이동합니다. 

 

 

Ctrl+x를 누르면 단축키 프로그램은 종료합니다.

상태표시줄의 별모양 아이콘을 우클릭 후 종료해도 됩니다.

조건:

  • 파워포인트 일반 슬라이드 편집 모드일때만 작동합니다.
  • 슬라이드쇼나 슬라이드마스터 보기 등에서는 작동하지 않습니다.
  • 입력한 숫자가 슬라이드 범위를 벗어나면 오류창이 뜹니다.

 

 

아래는 오토핫키 코드(v1)입니다.

더보기
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.


	msgbox,64,Jump2Slide, Press <Ctrl-#> to jump to the PPT slide in the normal view. <Ctrl+x> to quit.
	;Menu, Tray, Icon, shell32.dll, 322
    if (%A_IsCompiled%)  {
		Menu, Tray, Icon, %A_ScriptName%, 1
	}
	Menu, Tray, Tip, <Ctrl-#> to jump to the PPT slide. <Ctrl+x> to quit.
	Menu, Tray, NoStandard
	Menu, Tray, Add, Exit, ExitMenu
return

Nums := ""

#IfWinActive ahk_class PPTFrameClass

; 숫자 0~9 및 숫자패드 대응
~^0::Nums .= "0"
~^1::Nums .= "1"
~^2::Nums .= "2"
~^3::Nums .= "3"
~^4::Nums .= "4"
~^5::Nums .= "5"
~^6::Nums .= "6"
~^7::Nums .= "7"
~^8::Nums .= "8"
~^9::Nums .= "9"
return

~Ctrl Up::
    if (Nums != "") {
        JumpToSlide(Nums)
        Nums := "" ; 초기화
    }
return

JumpToSlide(target) {
    try {
        ppt := ComObjActive("PowerPoint.Application")
		;ppt.ActiveWindow.ViewType=9 	;ppViewNormal
        pres := ppt.ActivePresentation

        ; 문자로 저장된 target을 숫자로 변환
        slideIdx := target + 0
		;msgbox, %slideIdx%

        ; 전체 슬라이드 개수 확인
        maxSlides := pres.Slides.Count

        ; 슬라이드 범위 확인 후 이동
        if (slideIdx >= 1 && slideIdx <= maxSlides) {
            ppt.ActiveWindow.View.GotoSlide(slideIdx)   ;jump to the target slide
        } else {
            ; 범위를 벗어날 경우 알림이 필요하다면 아래 주석을 해제하세요.
            MsgBox,,, % "범위 초과: " . slideIdx . " (전체 " . maxSlides . "장)",5
        }
    } catch {
        ; 파워포인트 비활성
    }
}

#IfWinActive

ExitMenu:
^x::
	ExitApp

 

첨부한 Jump2Slide.exe를 다운로드 받아 속성에서 차단해제하시고 실행하세요.

 

 

 

Jump2Slide.ahk
0.00MB

 

Jump2Slide.exe
0.86MB

 

 

Jump2Slide Autohotkey