Determinar el número de diapositivas a reproducir
Publicado por campo (2 intervenciones) el 26/02/2017 22:05:39
Hola:
Me gustaría controlar en PowerPoint un número determinado de diapositivas a reproducir dentro del rango total de la presentación. Este número se pediría a través de una InputBox y debería estar entre los límites determinados (número máximo de diapositivas)
La presentación es una secuencia de imágenes de música (compases) que se reproducen aleatoriamente (el código de desordenación funciona) y que están sujetas a unas animaciones temporizadas con sonido que simulan el funcionamiento periódico de un metrónomo.
La idea es representar las múltiples posibilidades de combinaciones de patrones rítmicos y melódicos y que la presentación las muestre cada vez en un orden distinto (hasta aquí lo he conseguido)
Pero también quiero delimitar el número de diapositivas a mostrar (compases) simulando la reproducción de un ejercicio musical.
Ya avanzo que no tengo ni idea de las funciones vba de PowerPoint aunque sí un poquito de VisualBasic.
El código que estoy empleando es el siguiente:
En el modo de depuración, me indica un error en la línea "SlideShowWindows(loop2).View.Next"
Sé que está mal. He intentado un método muy inocente y estoy convencido de que no puede ser tan sencillo.
Agradecería cualquier ayuda a este respecto.
Muchísimas gracias de antemano.
Un saludo
Me gustaría controlar en PowerPoint un número determinado de diapositivas a reproducir dentro del rango total de la presentación. Este número se pediría a través de una InputBox y debería estar entre los límites determinados (número máximo de diapositivas)
La presentación es una secuencia de imágenes de música (compases) que se reproducen aleatoriamente (el código de desordenación funciona) y que están sujetas a unas animaciones temporizadas con sonido que simulan el funcionamiento periódico de un metrónomo.
La idea es representar las múltiples posibilidades de combinaciones de patrones rítmicos y melódicos y que la presentación las muestre cada vez en un orden distinto (hasta aquí lo he conseguido)
Pero también quiero delimitar el número de diapositivas a mostrar (compases) simulando la reproducción de un ejercicio musical.
Ya avanzo que no tengo ni idea de las funciones vba de PowerPoint aunque sí un poquito de VisualBasic.
El código que estoy empleando es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub desordena()
Dim DiapMax As Integer
Dim DiapMin As Integer
Dim DiapDesde As Integer
Dim DiapHasta As Integer
Dim loop1 As Integer
Dim CompasMax As Integer
Dim CompasMin As Integer
Dim loop2 As Integer
DiapMax = ActivePresentation.Slides.Count
DiapMin = 2
If DiapMax > ActivePresentation.Slides.Count Or DiapMin < 1 Then GoTo err
For loop1 = 1 To 2 * DiapMax
Randomize
DiapDesde = Int((DiapMax - DiapMin + 1) * Rnd + DiapMin)
DiapHasta = Int((DiapMax - DiapMin + 1) * Rnd + DiapMin)
ActivePresentation.Slides(DiapDesde).MoveTo (DiapHasta)
Next loop1
MsgBox "Se ha alterado el orden de las láminas"
CompasMax = InputBox("Introduce el número de compases entre 2 y " & DiapMax)
CompasMin = 2
If CompasMax > ActivePresentation.Slides.Count Or CompasMin < 2 Then GoTo err
loop2 = 2
If loop2 <= CompasMax Then
SlideShowWindows(loop2).View.Next
loop2 = loop2 + 1
Else
MsgBox "Finalizó la secuencia. Pulsa Aceptar para comenzar de nuevo y Esc para salir"
End If
Exit Sub
err:
MsgBox "El número introducido excede los límites indicados", vbCritical
End Sub
En el modo de depuración, me indica un error en la línea "SlideShowWindows(loop2).View.Next"
Sé que está mal. He intentado un método muy inocente y estoy convencido de que no puede ser tan sencillo.
Agradecería cualquier ayuda a este respecto.
Muchísimas gracias de antemano.
Un saludo
Valora esta pregunta
0