Paso 3: Añadir en el código
(Nota: todo el "código" estará en cursiva. Al escribir en no hay necesidad para la letra cursiva, sólo ayuda a diferenciarla del resto del texto aquí)
Cuando primero creamos nuestro macro, antes de que la forma, había una ventana con un texto en él. Queremos seleccionar la ventana ahora. Entre "Sub GameBoardControl ()" y "End Sub" quiere copiar y pegar lo siguiente:
Si Windows.Count = 0 Then MsgBox "No es ninguna ventana activa.", vbOKCancel, "Sin ventana está abierta"
ControlBoard.Show
La primera línea nos ayudará a evitar errores por el camino, y la segunda línea es lo que hará en el formulario que acaba de aparecer cuando ejecuta esta macro. Sin "ControlBoard.Show" que nunca veríamos el formulario cuando ejecute la macro. Por supuesto, si usted llama el formulario distinto ControlBoard tienes que ajustarlo a tu nombre.
Ahora ya terminamos con la ventana de texto y puede cerrar ahora, o a mantenerla abierta.
A continuación queremos volver al formulario.
Haga doble clic en el botón de comando "Inicializar tablero de juego". Se abrirá una ventana con el siguiente en la parte superior de la pantalla:
Private Sub CmdIniGB_Click)
End Sub
Cualquier código que ponemos entre las dos líneas se ejecutan cuando se presione ese botón. Este es el botón que vamos a presionar cuando queremos inicializar el tablero de juego. Lo que queremos que ocurra es el programa toma los valores que figuran en el cuadro de texto bajo premio y aumento y actualización de la primera diapositiva de la presentación con los valores correctos de premio en cada caja. Luego queremos ir a través de cada una de las diapositivas de la respuesta y actualizar el título con el nombre de la categoría correcta y Premio valor para cada uno. Queremos poner el siguiente código entre las dos líneas (te voy a dar una explicación de cada uno a medida que avanzamos a lo largo):
Dim boardPos As Integer boardPos = 1
Dim prizeValue As Integer
Dim prizeValueIncrease As Integer
Set tablero de juego = ActivePresentation.Slides(1)
prizeValue = ControlBoard.LowPrizeBox.Text
prizeValueIncrease = ControlBoard.IncreaseBox.Text
En las tres primeras líneas estamos declarando las variables que vamos a trabajar en esta sección. Esto significa que ahora podemos usar boardPos, prizeValue y prizeValueIncrease como variables y establezca su valor en (casi) cualquier número entero (número entero). En la cuarta línea hemos creado tablero igual a ActivePresentation.Slides(1). Lo que esto significa es que cada vez que usamos el "tablero" en el código, el programa lo reconocerá como la primera diapositiva en nuestra presentación (que si recuerdas, la primera diapositiva de nuestra presentación es nuestro tablero de juego). En las tres últimas líneas me estoy tomando las variables que hemos declarados recientemente y les estoy dando valores. Si no Haz cambiados más adelante en el código, boardPos tendrá el valor 1, y prizeValue y prizeValueIncrease tendrán el valor de lo que es en los cuadros de texto que hicimos en el ControlBoard.
Para boardPos = 1 a 5
gameBoard.Shapes(boardPos). TextFrame.TextRange.Text = prizeValue
Siguiente boardPos
Qué nos dice la primera línea aquí es que vamos a ejecutar el código en la segunda línea como la variable boardPos es el número 1, 2, 3, 4 o 5. La segunda línea es el código que se va a ejecutar. Lo que esto hace es tomar el prizeValue y cambiar el texto de la forma correspondiente en el tablero de juego. O en otras palabras, cuando boardPos es 1, se va hasta el tablero de juego (la primera diapositiva de la presentación) y toma formas número 1 (por esta razón hemos dicho que era importante saber el número de cada forma añadido. Si pones tuyo en un orden diferente, tendrá que hacer el cambio en el código) y cambia el texto (lo que está escrito en la pantalla del ordenador) para el entero que está en la variable prizeValue (que solo un segundo hace establezca en el cuadro de texto del valor del premio en el tablero de Control). La última línea hace la boardPos aumentar en 1. Continuará haciendo esto hasta que la tercera línea de código en esta sección hace aumentar de boardPos a 6. Cuando es 6, se mueve hacia abajo a lo siguiente:
prizeValue = prizeValue + prizeValueIncrease
Lo que hace esto se establece la variable prizeValue igual a la suma de prizeValue más prizeValueIncrease. El conjunto anterior de código había cambiado el texto de las formas de la primera fila de respuestas a menor valor de los premios. Esta línea de código nos consigue listo para la segunda fila de respuestas.
En el siguiente código, estamos haciendo lo que hicimos anteriormente, excepto que estamos moviendo el tablero y aumentando el valor del Premio de cada fila. Me avisas si es necesaria alguna explicación más:
Para boardPos = 6 a 10 prizeValue = prizeValue + prizeValueIncrease Para boardPos = 11 a 15 prizeValue = prizeValue + prizeValueIncrease Para boardPos = 16 a 20
gameBoard.Shapes(boardPos). TextFrame.TextRange.Text = prizeValue
Siguiente boardPos
gameBoard.Shapes(boardPos). TextFrame.TextRange.Text = prizeValue
Siguiente boardPos
gameBoard.Shapes(boardPos). TextFrame.TextRange.Text = prizeValue
Siguiente
Todo el código anterior fue utilizado para agregar los valores de premio correcto a las casillas de respuesta en nuestro tablero de juego (diapositiva 1). Para cambiar el título de cada diapositiva (diapo 2-21) de la respuesta a la correspondiente categoría y el valor del premio, se utilizará el siguiente código:
(Nota: el siguiente código debe ser todo en 1 línea en el programa. Por desgracia parece roto aquí)
ActivePresentation.Slides(2). Shapes(1). TextFrame.TextRange.Text =
ActivePresentation.Slides(1). Shapes(21). TextFrame.TextRange.Text + '$' +
ActivePresentation.Slides(1). Shapes(1). TextFrame.TextRange.Text
Está bien, permite romper esta abajo pieza por pieza. La primera parte (ActivePresentation.Slides(2). Shapes(1). TextFrame.TextRange.Text) dice que quiere tomar la primera forma (debe ser la forma de "título") en la diapositiva dos (que hemos dicho sería CatOne para el menor valor de premio) y cambiar el texto de esa forma a lo que está después del signo igual (que por ahora usted debe ser capaz de adivinar lo que es). Forma 21 (Si recuerdas) es el que corresponde al texto de la primera categoría, y la forma 1 es el texto del menor valor de premio para el las categorías. Eso significa que este pedacito de código debería cambiar el título en la diapositiva 2 a «CatOne $100.»
¡ Felicidades! Ahora solo tenemos que añadir en el código para el resto de diapositivas de respuesta y hemos terminado con este botón de comando (copiar y pegar el código pero cambiar los números de la forma y número de diapositiva a los apropiados). (El resto del código puede verse en la presentación de PowerPoint, pero si quieres puedo enviarlo a usted). Si no puede recordar lo que las formas están en el tablero el número, sólo revisa la imagen de abajo para una actualización.