Jengibre 2.7.53.0
Ginger es un corrector ortográfico y gramatical gratuito.
Hace un par de días, quería automatizar la tarea bastante mundana de crear algunas diapositivas de PowerPoint. Al automatizar PowerPoint, normalmente trabaja con la colección Diapositivas y formas. Las diapositivas se explican por sí mismas, y las formas son prácticamente todo lo demás, incluidos cuadros de texto, botones de acción, objetos multimedia, etiquetas, imágenes, llamadas, diagramas de flujo, etc. Aunque mostraré las técnicas con PowerPoint, parte de la sintaxis es bastante aplicable a Microsoft Word y Excel.
Solo para recapitular, antes de comenzar con el desarrollo de macros de VBA en PowerPoint, debe tener habilitada la pestaña de desarrollo .
En primer lugar, comencemos creando automáticamente una presentación con algunas diapositivas como se muestra en este tutorial: creación de una presentación en VBA .
Ahora podemos empezar a trabajar con Formas. En primer lugar, avancemos y abramos el Editor de VBA presionando Alt+ F11. Si siguió el tutorial anterior, debería tener el módulo 1 en su lista de Módulos (como se muestra a continuación)
Trabajar con formas con VBA
Agregar un cuadro de texto con VBA
Comenzaremos agregando un cuadro de texto vertical a nuestra primera diapositiva de la presentación. Agregue el siguiente código al Módulo 1, luego continúe y presione el botón Guardar (Ctrl+s) y ejecute su macro (presione F5 o presione Ejecutar formulario de sub/usuario).
Sub CreateTextBox()
Set MySlide = ActivePresentation.Slides(2)
With MySlide.Shapes
.AddTextbox(Orientation:=msoTextOrientationVertical, _
Left:=90, Top:=200, Width:=80, _
Height:=200).TextFrame.TextRange.Text _
= ("This is my vertical text box")
End With
End Sub
Tenga en cuenta que puede cambiar el tamaño de las dimensiones de su cuadro de texto con bastante facilidad con VBA. En este caso, cambiaremos el tamaño de la primera forma en la segunda diapositiva, siéntase libre de modificar según sea necesario.
Sub ResizeText()
Set MyShape = ActivePresentation.Slides(2).Shapes(1)
'Add your required dimensions as needed below
With MyShape
.Width = 200
.Height = 35
End With
End Sub
Efectos de texto con VBA
Supongamos ahora que queremos agregar un cuadro de texto a todas las diapositivas de la presentación, esta vez un poco más atractivo visualmente. Para hacer eso, usaremos VBA para crear efectos de texto personalizados que podemos incrustar en una o más diapositivas de la presentación. Primero recorreremos las diapositivas de la presentación y luego agregaremos el efecto de texto según sea necesario.
Sub SetEffects()
Dim i As Integer
For i = 1 To ActivePresentation.Slides.Count
ActivePresentation.Slides(i) _
.Shapes.AddTextEffect msoTextEffect12, "Draft for Review", _
"Segoe UI", 32, msoTrue, msoTrue, 650, 50
Next
End Sub
Aquí está el resultado ;-):
Tenga en cuenta que también podría usar una marca de agua simple para lograr este resultado específico.
Llamadas de PowerPoint con VBA
Nuestro próximo ejemplo será agregar llamadas a su presentación. En este ejemplo, agregaremos una llamada a la segunda diapositiva.
Sub CreateCallout()
ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _ Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"
End Sub
Muchas propiedades de formato de las formas no se establecen mediante propiedades que se aplican directamente al objeto Shape o ShapeRange . En su lugar, los atributos de forma relacionados se agrupan en objetos secundarios, como el objeto FillFormat , que contiene todas las propiedades relacionadas con el relleno de la forma, o el objeto LinkFormat , que contiene todas las propiedades exclusivas de los objetos OLE vinculados. Para establecer propiedades para una forma, primero debe devolver el objeto que representa el conjunto de atributos de forma relacionados y luego establecer las propiedades de ese objeto devuelto. Por ejemplo, utiliza la propiedad Fill para devolver el objeto FillFormat y luego establece la propiedad ForeColor del objeto FillFormat para establecer el color de primer plano de relleno para la forma especificada, como se muestra en el siguiente ejemplo.
V.B.
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
En la interfaz de usuario, hay algunas operaciones que puedes realizar con varias formas seleccionadas; por ejemplo, puedes seleccionar varias formas y configurar todos sus rellenos individuales a la vez. Hay otras operaciones que sólo puedes realizar con una única forma seleccionada; por ejemplo, solo puede editar el texto de una forma si se selecciona una sola forma.
En Visual Basic, hay dos formas de aplicar propiedades y métodos a un conjunto de formas. Estas dos formas le permiten realizar cualquier operación que pueda realizar en una sola forma en una variedad de formas, ya sea que pueda realizar o no la misma operación en la interfaz de usuario.
Si la operación funciona en varias formas seleccionadas en la interfaz de usuario, puede realizar la misma operación en Visual Basic construyendo una colección ShapeRange que contenga las formas con las que desea trabajar y aplicando las propiedades y métodos apropiados directamente a la colección ShapeRange .
Si la operación no funciona en varias formas seleccionadas en la interfaz de usuario, aún puede realizar la operación en Visual Basic recorriendo la colección Shapes o una colección ShapeRange que contenga las formas con las que desea trabajar y aplicando las propiedades apropiadas. y métodos para los objetos Shape individuales de la colección.
Muchas propiedades y métodos que se aplican al objeto Shape y a la colección ShapeRange fallan si se aplican a ciertos tipos de formas. Por ejemplo, la propiedad TextFrame falla si se aplica a una forma que no puede contener texto. Si no está seguro de que a cada forma de una colección ShapeRange se le pueda aplicar una determinada propiedad o método, no aplique la propiedad o el método a la colección ShapeRange . Si desea aplicar una de estas propiedades o métodos a una colección de formas, debe recorrer la colección y probar cada forma individual para asegurarse de que sea un tipo de forma apropiado antes de aplicarle la propiedad o el método.
Si puede realizar una operación en varias formas seleccionadas en la interfaz de usuario al mismo tiempo, puede realizar el equivalente programático construyendo una colección ShapeRange y luego aplicándole las propiedades o métodos adecuados. El siguiente ejemplo construye un rango de formas que contiene las autoformas denominadas "Estrella grande" y "Estrella pequeña" y les aplica un relleno degradado.myDocument
V.B.
Set myDocument = ActivePresentation.Slides(1)
Set myRange = myDocument.Shapes _
.Range(Array("Big Star", "Little Star"))
myRange.Fill.PresetGradient msoGradientHorizontal, _
1, msoGradientBrass
Las siguientes son pautas generales sobre cómo se comportan las propiedades y los métodos cuando se aplican a una colección ShapeRange .
Aplicar un método a la colección equivale a aplicar el método a cada objeto Shape individual de esa colección.
Establecer el valor de una propiedad de la colección equivale a establecer el valor de la propiedad de cada forma individual en ese rango.
Una propiedad de la colección que devuelve una constante devuelve el valor de la propiedad para una forma individual de la colección si todas las formas de la colección tienen el mismo valor para esa propiedad. Si no todas las formas de la colección tienen el mismo valor para la propiedad, devuelve la constante "mixta".
Una propiedad de la colección que devuelve un tipo de datos simple (como Long , Single o String ) devuelve el valor de la propiedad para una forma individual si todas las formas de la colección tienen el mismo valor para esa propiedad.
El valor de algunas propiedades se puede devolver o establecer solo si hay exactamente una forma en la colección. Si hay más de una forma en la colección, se produce un error de tiempo de ejecución. Este suele ser el caso de devolver o configurar propiedades cuando la acción equivalente en la interfaz de usuario solo es posible con una única forma (acciones como editar texto en una forma o editar los puntos de una forma libre).
Las pautas anteriores también se aplican cuando se configuran propiedades de formas agrupadas en objetos secundarios de la colección ShapeRange , como el objeto FillFormat . Si el objeto secundario representa operaciones que se pueden realizar en varios objetos seleccionados en la interfaz de usuario, podrá devolver el objeto de una colección ShapeRange y establecer sus propiedades. Por ejemplo, puede utilizar la propiedad Fill para devolver el objeto FillFormat que representa los rellenos de todas las formas de la colección ShapeRange . Establecer las propiedades de este objeto FillFormat establecerá las mismas propiedades para todas las formas individuales de la colección ShapeRange .
Incluso si no puede realizar una operación en varias formas en la interfaz de usuario al mismo tiempo seleccionándolas y luego usando un comando, puede realizar la acción equivalente mediante programación recorriendo la colección Shapes o a través de una colección ShapeRange que contenga las formas que desea trabajar y aplicar las propiedades y métodos apropiados a los objetos Shape individuales de la colección. El siguiente ejemplo recorre todas las formas y agrega texto a cada forma que es una autoforma. y agrega texto a cada forma que sea una autoforma.myDocument
V.B.
Set myDocument = ActivePresentation.Slides(1)
For Each sh In myDocument.Shapes
If sh.Type = msoAutoShape Then
sh.TextFrame.TextRange.InsertAfter " (version 1)"
End If
Next
El siguiente ejemplo construye una colección ShapeRange que contiene todas las formas seleccionadas actualmente en la ventana activa y establece el texto en cada forma de la colección que puede contener texto.
V.B.
For Each sh in ActiveWindow.Selection.ShapeRange
If sh.HasTextFrame Then
sh.TextFrame.TextRange = "Initially selected"
End If
Next
Utilice los métodos Alinear y Distribuir para colocar un conjunto de formas entre sí o con respecto al documento que las contiene. Utilice el método Grupo o el método Reagrupar para formar una única forma agrupada a partir de un conjunto de formas.
Ginger es un corrector ortográfico y gramatical gratuito.
Blocks es un juego intelectual para que los alumnos de 3º de primaria practiquen sus habilidades de detección y visión y está incluido por los profesores en el programa de apoyo a la enseñanza de TI.
Prezi es una aplicación gratuita que te permite crear presentaciones digitales, tanto online como offline.
Mathway es una aplicación muy útil que puede ayudarte a resolver todos aquellos problemas matemáticos que requieren una herramienta más compleja que la calculadora integrada en tu dispositivo.
Adobe Presenter es un software de aprendizaje electrónico lanzado por Adobe Systems y disponible en la plataforma Microsoft Windows como un complemento de Microsoft PowerPoint.
Toucan es una plataforma tecnológica educativa. Le permite aprender un nuevo idioma mientras navega por sitios web comunes y cotidianos.
eNetViet es una aplicación que ayuda a conectar a los padres con la escuela donde estudian sus hijos para que puedan comprender claramente la situación de aprendizaje actual de sus hijos.
Duolingo - Aprende Idiomas Gratis, o simplemente Duolingo, es un programa educativo que te permite aprender y practicar muchos idiomas diferentes.
RapidTyping es una herramienta de entrenamiento de teclado conveniente y fácil de usar que lo ayudará a mejorar su velocidad de escritura y reducir los errores ortográficos. Con lecciones organizadas para muchos niveles diferentes, RapidTyping le enseñará cómo escribir o mejorar sus habilidades existentes.
MathType es un software de ecuaciones interactivas del desarrollador Design Science (Dessci), que le permite crear y anotar notaciones matemáticas para procesamiento de textos, presentaciones, aprendizaje electrónico, etc. Este editor también se utiliza para crear documentos TeX, LaTeX y MathML.