문제

PowerPoint C# VSTO 추가 기능을 개발하고 있습니다. 슬라이드의 제목 텍스트가 변경 될 때마다 텍스트 변경된 이벤트를 캡처하고 싶습니다.

제목 텍스트가 변경 될 때마다 발사 될 맞춤형 이벤트 핸들러를 어떻게 첨부하려면?

도움이 되었습니까?

해결책

두 가지 : 1) 이것은 VBA에 있지만 C# 및 VSTO에 쉽게 휴대 할 수 있어야합니다. 2) "텍스트 변경"은 약간 까다 롭습니다. 나는 당신을 "제목 상자에 있습니까?"까지 당신을 데려 갈 수 있습니다. 나머지는 더욱 비세합니다. 원래 상태와 변경 사항을 찾는 것과 관련이 있습니다. 아마도 할 수 있습니다, 나는 그것을하지 않았다.

PPT VBA의 선택 변경을 수행하려면 하나의 클래스와 하나의 모듈이 필요합니다. 수업에서 이것을 말하십시오.

Public WithEvents PPTEvent As Application
Private Sub PPTEvent_WindowSelectionChange(ByVal Sel As Selection)
    With Sel
        If .Type = ppSelectionText Then
            Dim sh As Shape: Set sh = .ShapeRange(1)
            If sh.Type = msoPlaceholder Then
                originalText = sh.TextFrame.Text
                Dim placeHolderType As Integer
                placeHolderType = sh.PlaceholderFormat.Type
                If placeHolderType = ppPlaceholderTitle Then
                    MsgBox "this is a title placeholder"
                End If
            End If
        End If
    End With
End Sub

클래스 "clspptevents"의 이름을 지정하십시오. 그런 다음 모든 모듈에서 다음을 넣으십시오.

Public newPPTEvents As New clsPPTEvents
Sub StartEvents()
    Set newPPTEvents.PPTEvent = Application
End Sub
Sub EndEvents()
    Set newPPTEvents.PPTEvent = Nothing
    Set newPPTEvents = Nothing
End Sub

누르다 F5 STARTEVENTS에서는 후크를 가능하게합니다. endevents에서 F5를 눌러 비활성화하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top