Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-11-2006
reisa222 reisa222 is offline
Registrado
 
Registrado: nov 2006
Posts: 2
Poder: 0
reisa222 Va por buen camino
Crear y ejecutar una macro en Word desde Delphi

Hola,

Estoy intentando llamar a Word desde Delphi5 y conseguir ejecutar una macro de la que yo también le paso el codigo fuente. Hasta ahora lo que he conseguido es abrir word, ejecutar macros que ya están creadas y guardar, pero no consigo poder pasarle yo la macro.

El codigo que tengo hasta ahora es:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
V: OleVariant;
progname:string;
begin
V:= CreateOleObject('Word.Application');
V.ShowMe;
V.WordBasic.FileNew;
//** V.SendKeys ; No deja hacerlo automáticamente.
//** V.SaveMacro; No deja hacerlo automáticamente.
V.Run('Macro2');
Progname := 'C:\juan2.doc';
V.WordBasic.FileSaveAs (Progname);
end;
end.

Lo he intentado con el SendKeys y con el SaveMacro pero me da error.

Agradecería mucho cualquier ayuda.

Última edición por dec fecha: 19-11-2006 a las 13:44:42.
Responder Con Cita
  #2  
Antiguo 20-11-2006
Avatar de Elenita
Elenita Elenita is offline
Miembro
 
Registrado: jun 2005
Ubicación: Madrid
Posts: 56
Poder: 19
Elenita Va por buen camino
Siento no poder ayudarte, pero tú si puedes ayudarme a mí.
¿Podrías decirme cómo ejecutar una macro determinada que ya está creada en el documento? En realidad mi problema es algo más complicado, ya que tengo dos documentos de word abiertos, uno (el que tiene la macro) es una plantilla de un mailmerge, y el otro el resultado de la combinación una vez ejecutado el mailmerge. El problema es que cuando intento ejecutar la macro me dice que no existe y eso es porque me está cogiendo como proyecto activo el del Normal.dot, que no tiene macros, en lugar de el del documento.
¿Se puede averiguar si un documento tiene macros?
Muchas gracias.
Responder Con Cita
  #3  
Antiguo 20-11-2006
reisa222 reisa222 is offline
Registrado
 
Registrado: nov 2006
Posts: 2
Poder: 0
reisa222 Va por buen camino
ejecutar macro en word

Hola,

La verdad es que no se como se puede hacer lo que dices. Yo tengo las macros grabadas a nivel de cualquier documento word, así que cuando abro uno nuevo "FileNew" la macro está allí y se puede invocar sin problemas. Creo que en tu caso para cambiar de documento activo y poner el que tiene las macros había algo como "Active Document" pero no lo he probado nunca. Tampoco se como se puede saber si un documento tiene macros. Lo siento.
Responder Con Cita
  #4  
Antiguo 14-12-2006
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Parece un poco raro que quieras crear una macro para ejecutarla. Lo lógico es que esté en la plantilla tal y como indicas y la ejecutes desde tu programa una vez abierto el documento.
Otra cosa es que quieras relizar una serie de acciones sobre un documento, lo que sí se puede hacer. Para ello, tendrás que conocer los objetos, las funciones y las propiedades de la apliación que manejes.

En la página que te indico tienes información de cómo hacer distintas cosas con un documento word vía DDE, como insertar texto, modificar las propiedades del mismo, crear tablas, ...

http://msdn2.microsoft.com/en-us/lib...ffice.10).aspx

Por otro lado, para probar tu aplicación no está de más que incluyas V.Visible:= True; tras crear el objeto, de esta manera se abrirá la aplicación para que puedas ver lo que hace. Esto te da bastantes pistas.

Espero que te sirva de ayuda.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #5  
Antiguo 14-02-2008
ozegarra ozegarra is offline
Miembro
 
Registrado: nov 2007
Ubicación: Lima - Peru
Posts: 35
Poder: 0
ozegarra Va por buen camino
Ejecutar Macro Excel Desde Delphi

Lo que yo quiero es abrir una plantilla excel y ejecutar una macro para obtener unos datos.
Ya logre abrir la plantilla pero no logro ejecutar la macro.

Agradeceria me ayuden ya que me pasie por muchos foros y no encuentro la respuesta.

Código Delphi [-]
{Asi abro la plantilla}
ExcelApplication1.Visible[0]:=True;
MiExcel:= ExcelApplication1.Workbooks.Open('C:\Plantilla.xlt', False,  False, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,0);
{Algo asi es lo que quiero ejecutar pero en metodo run no existe}
MiExcel.Run("Reporte", param1, param2);
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear Tablas Word Desde Delphi ciscu Servers 10 09-01-2007 17:44:01
Ejecutar Macro desde delphi jdattoli Conexión con bases de datos 2 03-02-2006 19:27:37
ejecutar macro access desde delphi oliviagadel Impresión 5 03-02-2006 19:08:16
Como crear un documento Word desde Delphi Javi2 Varios 3 25-07-2005 12:15:57
Ejecutar un documento en Word desde mi aplicacion eyscom API de Windows 2 12-02-2004 07:46:55


La franja horaria es GMT +2. Ahora son las 19:13:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi