Macro VBA Power Point - Excel

18/10/2007 - 20:19 por LZ | Informe spam
Hola a todos,

Hago esta consulta en este foro de Excel en la suposicion de que hay mas
experiencia en este ambito que en Power Point.

Necesito resolver el siguiente problema:

Dada una PPT basada en un template necesito generar una macro VBA en Power
Point que ejecute a su vez macros en workbooks excel para obtener un conjunto
de datos y graficos que finalmente pueblen la PPT.

Es posible generar esa macro VBA en Power Point que redireccione su
ejecucion a Excel, obtenga datos y graficos y los pegue en la presentacion
PPT ?

Soy un neofito en el tema que no paso de generacion de macros VBA a traves
de la grabadora de macros.

Anticipadamente gracias

Leonardo

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
19/10/2007 - 03:07 | Informe spam
hola, !

Dada una PPT basada en un template necesito generar una macro VBA en Power Point
que ejecute a su vez macros en workbooks excel para obtener un conjunto de datos y graficos que finalmente pueblen la PPT.
Es posible generar esa macro VBA en Power Point que redireccione su ejecucion a Excel
obtenga datos y graficos y los pegue en la presentacion PPT ?
Soy un neofito en el tema que no paso de generacion de macros VBA a traves de la grabadora de macros.



puedes usar objetos de automatizacion entre aplicaciones (p.e.)
si excel ya esta abierto... -> GetObject(, "excel.application")
iniciar una nueva instancia > CreateObject("excel.application")

hecho lo anterior, ya puedes trabajar con el modelo de objetos de la aplicacion instanciada/automatizada/...
el siguiente ejemplo es una macro ejecutable desde un modulo de codigo en PPT

-> (de ser necesario) complementa con otras instrucciones dependiendo de "quien" realiza las acciones
(la obtencion del conjunto de datos y graficos que finalmente pueblen la PPT)
macros desde excel ???
macros desde powerpoint ???

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Sub Preparar_desde_Excel()
With CreateObject("Excel.Application")
.Visible = True
.Workbooks.Open "pases a ppt.xls" ' <= por aqui la ruta y el nombre del archivo .XLS '
.Run "Macro_para_PPT" ' <= pon aqui el nombre de la macro que se ejecuta desde excel '
.ActiveWorkbook.Close False
.Quit
End With
MsgBox "Terminadas las macros desde excel, y ahora que ???"
End Sub
Respuesta Responder a este mensaje
#2 LZ
19/10/2007 - 04:57 | Informe spam
Hola Hector Miguel,

Tu ejemplo responde exactamente a mi pregunta, por lo cual ya pude comenzar
a elaborar la solucion a mi problema de generacion de una PPT a partir de un
template con datos y graficos obtenidos desde multiples workbooks.

Seguramente no soy el primero en pensar en este tipo de 'merge' de datos y
objetos de una aplicacion office en otra, en mi caso objetos Excel sobre una
presentacion Power Point, queria preguntarte si conoces algunos ejemplos de
programacion VBA que se encuentren en la web.

Gracias !

Leonardo

"Héctor Miguel" wrote:

hola, !

> Dada una PPT basada en un template necesito generar una macro VBA en Power Point
> que ejecute a su vez macros en workbooks excel para obtener un conjunto de datos y graficos que finalmente pueblen la PPT.
> Es posible generar esa macro VBA en Power Point que redireccione su ejecucion a Excel
> obtenga datos y graficos y los pegue en la presentacion PPT ?
> Soy un neofito en el tema que no paso de generacion de macros VBA a traves de la grabadora de macros.

puedes usar objetos de automatizacion entre aplicaciones (p.e.)
si excel ya esta abierto... -> GetObject(, "excel.application")
iniciar una nueva instancia > CreateObject("excel.application")

hecho lo anterior, ya puedes trabajar con el modelo de objetos de la aplicacion instanciada/automatizada/...
el siguiente ejemplo es una macro ejecutable desde un modulo de codigo en PPT

-> (de ser necesario) complementa con otras instrucciones dependiendo de "quien" realiza las acciones
(la obtencion del conjunto de datos y graficos que finalmente pueblen la PPT)
macros desde excel ???
macros desde powerpoint ???

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Sub Preparar_desde_Excel()
With CreateObject("Excel.Application")
.Visible = True
.Workbooks.Open "pases a ppt.xls" ' <= por aqui la ruta y el nombre del archivo .XLS '
.Run "Macro_para_PPT" ' <= pon aqui el nombre de la macro que se ejecuta desde excel '
.ActiveWorkbook.Close False
.Quit
End With
MsgBox "Terminadas las macros desde excel, y ahora que ???"
End Sub



Respuesta Responder a este mensaje
#3 Héctor Miguel
19/10/2007 - 05:11 | Informe spam
hola, Leonardo !

Seguramente no soy el primero en pensar en este tipo de 'merge' de datos y objetos de una aplicacion office en otra
... conoces algunos ejemplos de programacion VBA que se encuentren en la web...



no se si todos sigan estando disponibles ???...
espero que algo de lo siguiente pueda resultarte de utiidad ;)
saludos,
hector.

una lista de manuales y tutoriales [ingles]
http://www.virtualhelpdeskcentral.c...asp?SiteID&NoGUI=&CategoryID

algunas paginas en ingles...
Charles Williams (DecisionModels): http://www.decisionmodels.com/
Tushar Mehta: http://www.tushar-mehta.com/excel/
Laurent Longre: http://xcell05.free.fr/
Rob Bovey: http://www.appspro.com/Tips/Tips_And_Tricks.htm
Stephen Bullen' Excel MVP's page: http://www.bmsltd.ie/MVP/Default.htm
Jurgen Volkerink (KeepItCool): http://members.chello.nl/keepitcool/addins.html
Matt Evans: http://www.exinfm.com/free_spreadsheets.html
Karl Peterson: http://vb.mvps.org/samples/
Bob Umlas: http://www.emailoffice.com/excel/ar...umlas.html
Carlo Quintero: http://www.mztools.com/
Van Gelder: http://homepages.paradise.net.nz/~robree/excel/
MiStupid (Training Online): http://mistupid.com/tutorials/excel/
ExtremeVBTalk(newsgroup): http://www.visualbasicforum.com/

algunas paginas en castellano...
http://www.franciscopascual.com/Arc...202002.zip
http://www.javeriana.edu.co/decisio...icios.html
http://www.javeriana.edu.co/cursad/...iento.html
http://members.fortunecity.es/tonelorc/eexcel.html
http://www.aulaclic.es/excel2000/f_excel2000.htm
http://64.226.188.26/sivnetwork-www/cursos_gratis/excel/Excel.htm
http://www.territoriopc.com/excel/
http://interinfo.iespana.es/interin...les_ig.htm
http://www.fullwebs.com.uy/endondee.../excel.pdf
http://office.arnulfoperez.com/excel/
http://lacher.com/toc.htm
http://www.sistemaslym.net/vba/excel/excel.html
http://es.geocities.com/lacibelesde...macros.htm
http://es.geocities.com/lacibelesde...acros1.htm
http://www.macroheavy.com/excel/excel.asp
http://www.geocities.com/gorita_2000/VBA.htm
http://www.excelavanzado.com/
http://www.xtec.es/~rlloren4/KBEsp2.htm
http://www.exceluciones.com/portal/...p?article5
Respuesta Responder a este mensaje
#4 LZ
19/10/2007 - 11:13 | Informe spam
Gracias!

"Héctor Miguel" wrote:

hola, Leonardo !

> Seguramente no soy el primero en pensar en este tipo de 'merge' de datos y objetos de una aplicacion office en otra
> ... conoces algunos ejemplos de programacion VBA que se encuentren en la web...

no se si todos sigan estando disponibles ???...
espero que algo de lo siguiente pueda resultarte de utiidad ;)
saludos,
hector.

una lista de manuales y tutoriales [ingles]
http://www.virtualhelpdeskcentral.c...asp?SiteID&NoGUI=&CategoryID

algunas paginas en ingles...
Charles Williams (DecisionModels): http://www.decisionmodels.com/
Tushar Mehta: http://www.tushar-mehta.com/excel/
Laurent Longre: http://xcell05.free.fr/
Rob Bovey: http://www.appspro.com/Tips/Tips_And_Tricks.htm
Stephen Bullen' Excel MVP's page: http://www.bmsltd.ie/MVP/Default.htm
Jurgen Volkerink (KeepItCool): http://members.chello.nl/keepitcool/addins.html
Matt Evans: http://www.exinfm.com/free_spreadsheets.html
Karl Peterson: http://vb.mvps.org/samples/
Bob Umlas: http://www.emailoffice.com/excel/ar...umlas.html
Carlo Quintero: http://www.mztools.com/
Van Gelder: http://homepages.paradise.net.nz/~robree/excel/
MiStupid (Training Online): http://mistupid.com/tutorials/excel/
ExtremeVBTalk(newsgroup): http://www.visualbasicforum.com/

algunas paginas en castellano...
http://www.franciscopascual.com/Arc...202002.zip
http://www.javeriana.edu.co/decisio...icios.html
http://www.javeriana.edu.co/cursad/...iento.html
http://members.fortunecity.es/tonelorc/eexcel.html
http://www.aulaclic.es/excel2000/f_excel2000.htm
http://64.226.188.26/sivnetwork-www/cursos_gratis/excel/Excel.htm
http://www.territoriopc.com/excel/
http://interinfo.iespana.es/interin...les_ig.htm
http://www.fullwebs.com.uy/endondee.../excel.pdf
http://office.arnulfoperez.com/excel/
http://lacher.com/toc.htm
http://www.sistemaslym.net/vba/excel/excel.html
http://es.geocities.com/lacibelesde...macros.htm
http://es.geocities.com/lacibelesde...acros1.htm
http://www.macroheavy.com/excel/excel.asp
http://www.geocities.com/gorita_2000/VBA.htm
http://www.excelavanzado.com/
http://www.xtec.es/~rlloren4/KBEsp2.htm
http://www.exceluciones.com/portal/...p?article5



Respuesta Responder a este mensaje
#5 LZ
19/10/2007 - 17:13 | Informe spam
Hola Hector Miguel,

Abusando de tus conocimientos te consulto:

He implementado la solucion que me enviaste en Power Point.
En primera nstancia la macro quedo asi:

Sub Preparar_desde_Excel()
With CreateObject("Excel.Application")
.Visible = True
.Workbooks.Open "c:\temp\lz1.xls" ' <= por aqui la ruta y el nombre del
archivo .XLS '
.Run "PL01G" ' <= pon aqui el nombre de la macro que se ejecuta desde excel '
.ActiveWorkbook.Close False
.Quit
End With
End Sub

que es lo que me has enviado pero apuntando ahora a mi planilla - macro;
cambie el atributo de visibilidad a true para permitir ver lo que sucedia.

La macro PL01G es la siguiente:

Sub PL01G()
'
' PL01G Macro
' Macro recorded 10/19/2007 by LZ
'
' Keyboard Shortcut: Ctrl+Shift+B
'
Sheets("PL01").Select
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy
End Sub

muy simple que selecciona un grafico y lo copia para que luego la
Sub_Preparar_desde_Excel() pegue su contenido en la PPT.

Tengo aqui dos dificultades:

1. Si corro PL01G en excel veo que el grafico se ha seleccionado y copiado.
Pero si lo hago desde la macro Sub_Preparar_desde_Excel() no me queda
habillitado en el menu EDIT de Poewer Point las opciones de Paste y Paste
Special con las que pensaba pegar el grafico excel. Tengo la sensacion de que
no se ejecuta:

ActiveChart.ChartArea.Copy

y

2. Para el caso de que se resuelva 1. desconozco como debo hacer en VBA para
hacer un EDIT-> Paste Special-> MS Office Excel Chart Object
con el cual pensaba pegar el chart generado en excel.

Pense que con la grabadora de macros de Power Point 2003 podria obtener las
sentencias de VBA para hacerlo, pero esta ultima accion no queda registrada.

Si puedes darme una mano, agradecidisimo

Saludos

Leonardo





"Héctor Miguel" escribió:

hola, !

> Dada una PPT basada en un template necesito generar una macro VBA en Power Point
> que ejecute a su vez macros en workbooks excel para obtener un conjunto de datos y graficos que finalmente pueblen la PPT.
> Es posible generar esa macro VBA en Power Point que redireccione su ejecucion a Excel
> obtenga datos y graficos y los pegue en la presentacion PPT ?
> Soy un neofito en el tema que no paso de generacion de macros VBA a traves de la grabadora de macros.

puedes usar objetos de automatizacion entre aplicaciones (p.e.)
si excel ya esta abierto... -> GetObject(, "excel.application")
iniciar una nueva instancia > CreateObject("excel.application")

hecho lo anterior, ya puedes trabajar con el modelo de objetos de la aplicacion instanciada/automatizada/...
el siguiente ejemplo es una macro ejecutable desde un modulo de codigo en PPT

-> (de ser necesario) complementa con otras instrucciones dependiendo de "quien" realiza las acciones
(la obtencion del conjunto de datos y graficos que finalmente pueblen la PPT)
macros desde excel ???
macros desde powerpoint ???

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Sub Preparar_desde_Excel()
With CreateObject("Excel.Application")
.Visible = True
.Workbooks.Open "pases a ppt.xls" ' <= por aqui la ruta y el nombre del archivo .XLS '
.Run "Macro_para_PPT" ' <= pon aqui el nombre de la macro que se ejecuta desde excel '
.ActiveWorkbook.Close False
.Quit
End With
MsgBox "Terminadas las macros desde excel, y ahora que ???"
End Sub



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida