Charlie Young wrote:The slide show controller has a method getCurrentSlideIndex.
I used some of this stuff, with a SlideShowListener, in a document posted in this thread.
oListener = createUnoListener("EV_","com.sun.star.presentation.XSlideShowListener")
oPresentation.Start()
oController = oPresentation.Controller
wait 100 ' <--- oPresentation.Controller needs some time
oController.addSlideShowListener(oListener)
End Sub
Sub Main
Dim sFileName As String
Dim n As Integer
Dim t As String, d As Double, s As String
sFileName = "/home/user/currentslide.txt"
n = FreeFile()
Open sFileName For Output Access Read Write As #n
Print #n, "A"
close #n
End Sub
Sub EV_slideTransitionStarted(oEv)
Dim Slide As Integer
Slide = oController.getCurrentSlideIndex
Open "C:\Documents and Settings\Charlie\My Documents\LastSlide.txt" For Output As #1
Print #1,Slide
Close #1
PlotEyeChart(Slide, Charts(Slide))
End Sub
maxt wrote:I'm trying to run that code but on: Slide = oController.getCurrentSlideIndex
I get this error:
BASIC runtime error.
Object variable not set.
Sub main
oListener = createUnoListener("EV_","com.sun.star.presentation.XSlideShowListener")
oPresentation.Start()
oController = oPresentation.Controller
wait 100 ' <--- oPresentation.Controller needs some time
oController.addSlideShowListener(oListener)
End Sub
maxt wrote:
- Code: Select all Expand viewCollapse view
Sub main
oListener = createUnoListener("EV_","com.sun.star.presentation.XSlideShowListener")
oPresentation.Start()
oController = oPresentation.Controller
wait 100 ' <--- oPresentation.Controller needs some time
oController.addSlideShowListener(oListener)
End Sub
I get: "BASIC runtime error. Object variable not set." on the line: oPresentation.Start()
sorry but I'm new with macros
Global oDoc As Object
Global oPresentation As Object
Global oController As Object
Global oListener As Object
Global Charts(2) As EyeChart
Sub addListener
oDoc = ThisComponent
oDoc.Presentation.CustomShow = ""
oDoc.Presentation.IsShowAll = True
oPresentation = oDoc.Presentation
oPresentation.IsEndless = False
oListener = createUnoListener("EV_","com.sun.star.presentation.XSlideShowListener")
oPresentation.Start()
oController = oPresentation.Controller
oController.addSlideShowListener(oListener)
end sub
Global oDoc As Object
Global oPresentation As Object
Global oController As Object
Global oListener As Object
Sub addListener
oDoc = ThisComponent
oDoc.Presentation.CustomShow = ""
oDoc.Presentation.IsShowAll = True
oPresentation = oDoc.Presentation
oPresentation.IsEndless = True
oListener = createUnoListener("EV_","com.sun.star.presentation.XSlideShowListener")
oPresentation.Start()
oController = oPresentation.Controller
wait 100 ' <--- oPresentation.Controller needs some time
oController.addSlideShowListener(oListener)
end sub
Sub EV_slideTransitionStarted(oEv)
Dim Slide As Integer
Slide = oController.getCurrentSlideIndex
Open "/home/luivin/Desktop/macro/LastSlide.txt" For Output As #1
Print #1,Slide
Close #1
' PlotEyeChart(Slide, Charts(Slide))
End Sub
Sub EV_slideTransitionStarted(oEv)
Dim Slide As Integer
Slide = oController.getCurrentSlideIndex
Open "C:\Documents and Settings\Charlie\My Documents\LastSlide.txt" For Output As #1
Print #1,Slide
Close #1
PlotEyeChart(Slide, Charts(Slide))
End Sub
Global oDoc As Object
Global oPresentation As Object
Global oController As Object
Global oListener As Object
Sub addListener
oDoc = ThisComponent
oDoc.Presentation.CustomShow = ""
oDoc.Presentation.IsShowAll = True
oPresentation = oDoc.Presentation
oPresentation.IsEndless = True
oListener = createUnoListener("EV_","com.sun.star.presentation.XSlideShowListener")
oPresentation.Start()
oController = oPresentation.Controller
wait 100 ' <--- oPresentation.Controller needs some time
oController.addSlideShowListener(oListener)
end sub
Sub EV_slideTransitionStarted(oEv)
print "hello"
End Sub
Sub EV_paused(oEv)
End Sub
Sub EV_resumed(oEv)
End Sub
Sub EV_slideTransitionStarted(oEv)
Dim Slide As Integer
Slide = oController.getCurrentSlideIndex
Open "C:\Documents and Settings\Charlie\My Documents\LastSlide.txt" For Output As #1
Print #1,Slide
Close #1
PlotEyeChart(Slide, Charts(Slide))
End Sub
Sub EV_slideTransitionEnded(oEv)
End Sub
Sub EV_slideAnimationEnded(oEv)
End Sub
Sub EV_slideEnded(oEv)
End Sub
Sub EV_hyperLinkClicked(oEv)
End Sub
Sub EV_disposing(oEv)
End Sub
Global oDoc As Object
Global oPresentation As Object
Global oController As Object
Global oListener As Object
Sub addListener
oDoc = ThisComponent
oDoc.Presentation.CustomShow = ""
oDoc.Presentation.IsShowAll = True
oPresentation = oDoc.Presentation
oPresentation.IsEndless = True
oListener = createUnoListener("EV_","com.sun.star.presentation.XSlideShowListener")
oPresentation.Start()
oController = oPresentation.Controller
wait 100 ' <--- oPresentation.Controller needs some time
oController.addSlideShowListener(oListener)
end sub
Sub EV_paused(oEv)
End Sub
Sub EV_resumed(oEv)
End Sub
Sub EV_slideTransitionStarted(oEv)
print "hello"
End Sub
Sub EV_slideTransitionEnded(oEv)
End Sub
Sub EV_slideAnimationEnded(oEv)
End Sub
Sub EV_slideEnded(oEv)
End Sub
Sub EV_hyperLinkClicked(oEv)
End Sub
Sub EV_disposing(oEv)
End Sub
It will only appear after a slide change.
I could post a document that works for me, and you and others could test it.
maxt wrote:...but also writing to file works.. I don't see any made in the folder
Global oDoc As Object
Global oPresentation As Object
Global oController As Object
Global oListener As Object
Sub main
Doc = ThisComponent
Presentation = Doc.Presentation
Listener = createUnoListener("EV_","com.sun.star.presentation.XSlideShowListener")
Presentation.Start()
Controller = Presentation.Controller
wait 100 ' <--- oPresentation.Controller needs some time
Controller.addSlideShowListener(Listener)
end sub
Sub EV_paused(oEv)
End Sub
Sub EV_resumed(oEv)
End Sub
Sub EV_slideTransitionStarted(oEv)
'Print "Transition Started"
'MsgBox("hello")
Dim n As Integer
Dim Slide As Integer
Slide = oController.getCurrentSlideIndex
sFileName = "/home/luivin/Desktop/macro/LastSlide.txt"
n = FreeFile()
Open sFileName For Output Access Read Write As #n
Print #n,Slide
close #n
End Sub
Sub EV_slideTransitionEnded(oEv)
End Sub
Sub EV_slideAnimationEnded(oEv)
End Sub
Sub EV_slideEnded(oEv)
End Sub
Sub EV_hyperLinkClicked(oEv)
End Sub
Sub EV_disposing(oEv)
End Sub
Edit: Wait a minute. In main, your using variable Controller, it should be oController! |
Users browsing this forum: No registered users and 2 guests