PowerPoint vb.net 参考当前幻灯片

PowerPoint vb.net reference current slide

在 VB .NET 中为 PowerPoint 编写插件以及我为插入各种形状类型而编写的任何行,我收​​到错误: "Reference to a non-shared member requires an object reference"

我用谷歌搜索了一下,所有建议都以

开头
Slide.Shapes.AddShape

虽然这给出了上面的错误,例如

NewBubble = Slide.Shapes.AddShape(MsoAutoShapeType.msoShapeOval, 20, 150 + (i * 10), cm2points(0.4), cm2points(0.4))

那么,如何引用活动幻灯片以便我可以转到“.Shapes”或其他任何内容?

我已将 "Imports Microsoft.Office.Interop.PowerPoint" 置于顶部并尝试了 "PowerPoint. etc" 和 "Application. etc" 但似乎也不起作用。

我说的是VBA而不是VB.NET,不过翻译应该不会太难:

在正常(即编辑)视图中,这将为您提供对当前幻灯片的引用:

ActiveWindow.Selection.SlideRange(1)

如果您在幻灯片放映视图中,您可以使用它来获取对当前幻灯片的引用:

SlideShowWindows(1).View.Slide

需要注意的是,如果正在进行不止一张幻灯片放映,则可能会有不止一张幻灯片放映 window(很少见,但可能会发生)。为了安全起见,先检查SlideShowWindows.Count。

您是否尝试使用:Globals.ThisAddIn.Application.ActiveWindow.View.Slide

怎么样:Globals.ThisAddIn.Application.ActivePresentation.SlideShowWindow.View.Slide

我认为您还可以处理 Application.SlideSelectionChanged,然后将选定的幻灯片作为事件处理程序参数的 SlideRange