gpt4 book ai didi

vsto - 如何捕获 PowerPoint VSTO 文本更改事件?

转载 作者:行者123 更新时间:2023-12-04 07:11:19 27 4
gpt4 key购买 nike

我正在开发一个 PowerPoint C# VSTO 加载项。每当更改幻灯片的标题文本时,我希望能够捕获文本更改事件。

如何附加一个自定义事件处理程序,该处理程序会在标题文本更改时触发?

最佳答案

两件事:1)这是在 VBA 中,但应该很容易移植到 C# 和 VSTO,2)“文本更改”的事情有点棘手。我可以告诉你“你在标题框中吗”——剩下的就更琐碎了。它与查找原始状态与任何更改有关。应该可以吧,我还没做。

要在 PPT VBA 中 Hook 选择更改,您需要一个类和一个模块。在类里面,把这个:

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

在 StartEvents 上按 F5,这将启用 Hook 。在 EndEvents 上按 F5 以禁用它。

关于vsto - 如何捕获 PowerPoint VSTO 文本更改事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/295043/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com