libre/open office 宏问题 - 演示 api

问题描述

(我从 askubuntu 复制了该部分)从 2 天开始,我正在尝试制作一个宏来从第二张幻灯片执行演示文稿,但尚未全屏显示。我用来尝试任何可能方法的基本代码是:

REM  *****  BASIC  *****
Sub execute
Dim Doc As Object 
Dim Presentation As Object 
Dim SlideList As Object
Dim Slide As Object
Doc = ThisComponent
Presentation = Doc.Presentation
SlideList = Doc.getDrawPages()
Slide = SlideList.getByName("2")
Presentation.start(IsFullScreen(),IsAlwaysOnTop(),Slide(),IsMouseVisible(),)
end sub

演示文稿总是开始……但不是从第二张幻灯片开始。从官方 libreoffice 网站 (https://wiki.openoffice.org/wiki/Documentation/BASIC_Guide/Presentations) 尝试方法时,它也不起作用(它从第一张幻灯片开始,即使我制作的不是 FirstSlide 而是 SecondSlide)。尝试按索引定义幻灯片会产生未定义的错误。有什么办法可以让它工作吗?

PS:由于系统故障,我无法使用java,所以我需要用VBA编写。

解决方法

好的,试试这个

Sub RunFromSecondSlide
Dim oPresentation As Variant
Dim oDrawPages As Variant
    oPresentation = ThisComponent.getPresentation()
    oDrawPages = ThisComponent.getDrawPages()
    oPresentation.FirstPage = oDrawPages.getByIndex(1).getName()    
    oPresentation.start()
End Sub
,

我想出了如何让它工作,代码在这里:

Sub RunFromSecondSlide
Dim oPresentation As Variant
Dim oDrawPages As Variant
    oPresentation = ThisComponent.getPresentation()
    oDrawPages = ThisComponent.getDrawPages()
    oPresentation.FirstPage = oDrawPages.getByIndex(1).getName()    
    oPresentation.IsFullScreen=True
    oPresentation.IsAlwaysOnTop=True
    oPresentation.IsMouseVisible=true
    oPresentation.StartWithNavigator=False
    oPresentation.start()
End Sub

然后我需要双击自己创建的按钮(单击显示幻灯片,我需要再次单击)