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
。
在 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
。