Es posible que no lo hayas notado, pero Excel tiene un generador de texto a voz. Tampoco puede haber sabido que puede usar VBA para controlar la salida del generador. Esta es una pequeña herramienta divertida para jugar y puede aportar emoción a sus hojas de cálculo.
A menudo uso esto cuando se desarrolla hojas de cálculo de análisis para usar en reuniones de ventas de empresas. Aligera el estado de ánimo después de que mi audiencia se trata de sobrecargar en números, estadísticas y gráficos. Imagínense revisar una proyección de ventas cuando la voz sintetizada habitual de Microsoft viene diciendo “¡$ 2,000 hasta que alcanzara el objetivo de las ventas!” Un nuevo tipo de entusiasmo viene sobre mi audiencia.
El método que hace que esto sea posible es el método Speak. Cuando se aplica a un rango, hablará las celdas en orden por fila o columna. Puede especificar en qué dirección desea que funcione el método utilizando:
Expression.speak (speakDirection)
Esto solo se puede usar si se aplica al objeto ‘rango .
El objeto con el que lidiaré en este artículo es el objeto ‘discurso’. Hay varios usos diferentes para ello, y puede manipularlo de varias maneras diferentes. En el ejemplo utilizado para este artículo, primero crearemos una función que definirá el método Speak. Luego, pasaremos el texto que se hablará al método basado en una expresión.
Primero, la función:
función talkit (txt)
Application.speech.speak (txt)
talkit = txt
end function
Si tiene alguna experiencia de programación o VBA, no es demasiado difícil para USTED para descifrar exactamente lo que está haciendo la función. Si eres nuevo en VBA, te lo desglosaré. En la primera frase declaramos una nueva función, llamado Talkit, y luego declaramos que le pasaremos una variable.
Talkit (txt)
haciendo esto, haciendo esto, No puede llamar a la función Talkit sin enviarle todos los parámetros. Luego, llamamos al método de hablar comenzando con la propiedad de habla del objeto de aplicación.
application.speech.speak (txt)
Finalmente, antes de cerrar la función, configuramos un valor para la función Talkit. De esta manera, cuando se ejecuta el código de función, buscará el valor de la variable ‘txt’ antes de completar el código.
Ahora que la función está definida, pasaremos el valor apropiado a él para hablar. Puede llamar a la función para ejecutar muchas maneras diferentes. Puede hacerlo en un área determinada del código o desde un procedimiento de ‘Haga clic’ de un botón. En este ejemplo, haré que la hoja de cálculo compare un par de celdas y luego use la función Talkit desde el clic de un botón.
privado subtone_1 ()
Dim inttotal como entero
inttotal = worksheetFunction.sum (cells.range (“b3”, “b14”))
talkit (inttotal)
end sub
está bien, ahora para explicar. Usando el evento ‘Haga clic’ del botón CMDCalculate, primero definimos la variable ‘inttotal’ como un número entero. Luego, asignamos la suma de las celdas A1: A10 como el valor de la variable. Finalmente, llamamos a la función Talkit que creamos anteriormente y pasamos el valor de la variable intTotal a ella. Si coloca números en su hoja de cálculo en todas las celdas de A1 a A10, escuchará que la voz diga el total de las celdas.
Otra forma en que puede hacerlo es tener la voz sintetizada decir una frase basada en los cálculos de la expresión. Es bastante simple; Todo lo que tiene que hacer es agregar un par de líneas de código al subcrocado CMDCalcatations_Click.
Sub cmdcalcululate_click ()
dim inttotal como entero
‘declarar declarar Una nueva variable para mantener el texto
dim txttotal como string
inttotal = worksheetFunction.sum (Cells.Range (“A1”, “A10”))
‘Usar en la instrucción if … else para controlar el valor de’ txttotal variable
if inttotal <25000 entonces
txttotal = “no alcanzado”
Else
txttotal = “objetivo alcanzado”
end if
talkit (txtTotal)
end sub
> Para la muestra anterior, si la suma de A1: A10 es mayor que 25000, escuchará la voz sintetizada decir “Objetivo alcanzado”; Si no, entonces dirá “objetivo no alcanzado”. Juega con los números en las celdas para escuchar las dos respuestas diferentes.
Juega con el método Speak para dar vida a su hoja de trabajo de Excel. Si nada más, mientras se trata de un código largo y prolongado en la hoja de cálculo, puede hacer que le notifique si el código se ejecutó correctamente.