Vamos a continuar con nuestra aplicación.
En este caso vamos a diseñar la primer Diapositiva en PowerPoint, que por supuesto todo lo haremos desde Microsof Excel.
Por supuesto a nivel de modulo vamos a tener las siguientes variables:
Dim AppPP As Object
Dim PresentacionPP As Object
Dim DiapoPP As Object
Dim NombrePresentador As String
Dim CM As Single
Crearemos varias Subrutinas:
- CrearPresentacion.
- DestruirObjetos
- MenuPrincipal
- Diapositiva1
La SubRutina CrearPresentacion posee el siguiente código:
Private Sub CrearPresentacion()
CM = 28.346
'Seleccionar la hoja correcta
Sheets("ConexionPowerPoint").Select
'Capturar nombre del presentador
NombrePresentador = InputBox("Ingrese el Nombre del Presentador", "Nombre del Presentador")
'Crear (abrir) las aplicación PowerPoint
Set AppPP = CreateObject("PowerPoint.Application")
'Agregar una nueva presentación
Set PresentacionPP = AppPP.Presentations.Add
'Hacer que PowerPoint esté visible (NO activo)
AppPP.Visible = True
End Sub
Aclaración.-
Estamos utilizando varias variables que se encuentran declaradas, por ejemplo CM que le hemos dado el valor de 28.346 que es este valor por que un centímetro en la diapositiva es igual a 28.346 puntos. Y esto es tanto para la posición como para el tamaño
La otra variable es NombrePresentador que nos llamará a un InputBox donde deberemos ingresar el nombre del presentador de la presentación de Power Point.
A continuación insertamos otra SubRutina, que es la de DestruirObjetos que es para liberar memoria.
Private Sub DestruirObjetos()
'Destruir las variables objeto (en orden inverso)
Set DiapoPP = Nothing
Set PresentacionPP = Nothing
Set AppPP = Nothing
End Sub
Aclaración.-
En realidad, no hay nada que aclarar, ya que está solamente libera memoria del ordenador, vaciando las variables declaradas tipo objetos.
Vamos a insertar el código para insertar una diaposivita en Power Point, con el diseño que he elegido, es decir con un titulo y un subtitulo, que esto nos lo da el layout igual a 1.
Private Sub Diapositiva1()
'vamos a crear una dispositiva con Titulo y Subtitulo
Set DiapoPP = PresentacionPP.slides.Add(Index:=1, Layout:=1)
'Agregar un Logo guardado
'Posición y tamaño se manejan por "puntos" (1 cm = 28.346 puntos)
AppPP.activepresentation.slides(1).Shapes.AddPicture _
"C:\NuestraCarpeta\Logo.png", _
LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, _
Left:=30.34 * CM, Top:=0.57 * CM, Width:=3.53 * CM, Height:=3.53 * CM
'Agregamos Texto que se encuentra en una hoja, es el Titulo
DiapoPP.Shapes(1).TextFrame.TextRange.Text = Range("A1").Value
'DANDO FORMATO AL TEXTO
'Usando With / End With
With DiapoPP.Shapes(1)
.TextFrame.TextRange.Font.Name = "Times"
.TextFrame.TextRange.Font.Color = vbBlue
'.TextFrame.TextRange.Font.Size = 24
'.TextFrame.TextRange.Font.Italic = True
.TextFrame.TextRange.Font.Bold = True
End With
'Crear Subtitulo en la forma 2
DiapoPP.Shapes(2).TextFrame.TextRange.Text = "Presentado por: " & NombrePresentador
DiapoPP.Shapes(2).TextFrame.TextRange.ParagraphFormat.Alignment = msoAlignCenter
With DiapoPP.Shapes(2)
.TextFrame.TextRange.Font.Name = "Times"
.TextFrame.TextRange.Font.Color = vbRed
.TextFrame.TextRange.Font.Size = 24
'.TextFrame.TextRange.Font.Italic = True
.TextFrame.TextRange.Font.Bold = True
.Top = 12 * CM
.Left = 7.59 * CM
.Width = 20 * CM
.Height = 2 * CM
'alineacion dentro del cuadro de texto
.TextFrame.VerticalAnchor = msoAnchorMiddle 'centra verticalmente
End With
End Sub
Aclaración.-
Como hemos cogido el diseño de que nuestra diapositiva tenga un título y un subtítulo, debe tener que layout sea igual a 1.
Esta diapositiva lo que tendrá será el logo de nuestra compañía, que como ejemplo, he cogido una especie de avión. Por supuesto, la imagen la tengo en la carpeta donde se encuentra nuestro proyecto.
La siguiente linea es, primero donde se encuentra la imagen, y le hemos dado la posición y el tamaño a la imagen con left, top que nos da la posición; con width y height le damos el tamaño a la imagen.
Por supuesto, primero la hemos insertado la imagen, y posteriormente la hemos modificado, tanto el tamaño como la posición, y como vemos la multiplicamos por nuestra variable de CM.
Continuamos con el título y el subtítulo, y lo hemos hecho con la línea:
'Agregamos Texto que se encuentra en una hoja, es el Titulo
DiapoPP.Shapes(1).TextFrame.TextRange.Text = Range("A1").Value
Y como vemos nos coge el título del valor de la celda A1 de nuestra hoja.
Y el Subtitulo:
'Crear Subtitulo en la forma 2
DiapoPP.Shapes(2).TextFrame.TextRange.Text = "Presentado por: " & NombrePresentador
DiapoPP.Shapes(2).TextFrame.TextRange.ParagraphFormat.Alignment = msoAlignCenter
Para el subtïtulo hemos cogido el valor de nuestra variable NombrePresentador, y lo hemos colacado en el centro.
Tengo que aclarar que DiapoPP.Shapes(2) es la segunda forma que tiene la diapositiva, que es el subtítulo, y en el caso del título posee el número dentro del paréntesis el 1.
Con la parte de With DiapoPP.Shapes(2) le hemos dado formato, posición y alineación.
La diapositiva que hace que todo se reproduzca es la del MenuPrincipal
Private Sub MenuPrincipal()
CrearPresentacion
Diapositiva1
DestruirObjetos
End Sub
Esta SubRutina nos lanza las tres subrutinas que hemos creado.
Así nos ha quedado la primera Diapositva, en las próximas entradas seguiremos con las siguientes.
No hay comentarios:
Publicar un comentario
Gracias por participar en esta página.