Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   como abrir ficheros con Word (https://www.clubdelphi.com/foros/showthread.php?t=34481)

Quin 10-08-2006 19:57:57

como abrir ficheros con Word
 
Hola de nuevo!!
Quiero hacer que cuando pinche sobre un botón, se me abra Microsoft Word y me carge un fichero determinado. ¿Cómo se hace?

roman 10-08-2006 20:11:55

¿Qué tal así?

Código Delphi [-]
var
  WordApp: OleVariant;

begin
  WordApp := ComObj.CreateOleObject('Word.Application');
  WordApp.Documents.Open('C:\ruta\al\archivo.doc');
  WordApp.Visible := true;
end;

Debes incluir la unidad ComObj.

// Saludos

delphi.com.ar 11-08-2006 01:22:32

Código Delphi [-]
uses
  ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(Handle, 'open', 'c:\MiArchivo.doc', nil, nil, SW_SHOW);
end;
Y que lo abra quien lo tenga registrado!

Saludos!

roman 11-08-2006 02:36:38

Cita:

Empezado por delphi.com.ar
Una respuesta mucho más directa

En mi defensa diré que acababa de contestar una pregunta para manipular Excel y por ello andaba pensando en OLE.

:D

// Saludos

Quin 12-08-2006 19:05:56

Muchas gracias por vuestras contestaciones pero os agradecería que me lo pasárais a c++ builder que es con el que trabajo.

muchas gracias y saludos

PD. El problema es que no tengo idea de Delphi

delphi.com.ar 15-08-2006 01:02:01

Si trebajas en C++ Builder, no tendrías que tener muchos inconvenientes en traducir tan pocas líneas:
Código:

#include <ShellAPI.h>
...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  ShellExecute(Handle, "open", "c:\MiArchivo.doc", NULL, NULL, SW_SHOW);
}


Quin 16-08-2006 20:05:52

hola a todos de nuevo. Muchas gracias por interesaros por mi consulta pero sigo sin poder resolverla.

delphi.com.ar, pongo el ShellExecute pero no consigo que se abra el word, co nlo que sigo sin ver el documento. Ni siquiera consigo que se abra la aplicación. ¿Qué es lo que hago mal?

Muchas gracias y un saludo

delphi.com.ar 17-08-2006 19:31:00

Cita:

Empezado por Quin
...pongo el ShellExecute pero no consigo que se abra el word, co nlo que sigo sin ver el documento. Ni siquiera consigo que se abra la aplicación. ¿Qué es lo que hago mal?

Mmmmm... cuándo haces doble click desde el explorador en un .doc te abre el word??...
Prueba separando la ruta del nombre del archivo.

Saludos!

seoane 17-08-2006 19:35:26

Solo un apunte, en C no debería ponerse así:

Código:

ShellExecute(Handle, "open", "c:\\MiArchivo.doc", NULL, NULL, SW_SHOW)
Es decir doble barra en vez de poner una sola barra.

Quin 18-08-2006 00:22:29

Buenas!!

Creo que no entiendo los últimos mensajes que me habeis mandado y creo que vosotros a mí tampoco así que ahí os pongo el código y ahora os explico lo que quiero hacer.

void __fastcall TF_LibroActas::AbrirDocumento(TObject *Sender)
{
AnsiString Path=ExtractFileDir(Application->ExeName) + "\\Ficheros\\prueba.rtf";
ShellExecute(Handle, "open", Path, NULL, NULL, SW_SHOW);
}

Lo que quiero es que cuando haga clic en un botón se me habra en Word el documento prueba.rtf

tal y como está ahora me salen dos fallos:
[C++ Error] LibroActas.cpp(23): E2034 Cannot convert 'AnsiString' to 'const char *'
[C++ Error] LibroActas.cpp(23): E2342 Type mismatch in parameter 'lpFile' (wanted 'const char *', got 'AnsiString')

Espero vuestra ayuda y muchas gracias por ella.

Saludos

seoane 18-08-2006 00:51:32

Antes de nada decir que de builder se apenas nada, pero creo que la solución podría ser algo así:

Código:

  ShellExecute(Handle, "open", Path.c_str(), NULL, NULL, SW_SHOW);
¿funciona así? :confused:

Quin 18-08-2006 16:32:04

uuuuuueeeeeeeeeeeeeeeeeeeeee!!!!!!!!!

FUNCIONAAAA!!

Muchas gracias a todos

destrukthor 25-08-2006 09:13:54

Ayuda para crear
 
hola a todos..
Quiero abrir el Word creando un documento nuevo a partir de un nombre q yo le digite en un edit.
Se que hay varios hilos en el foro pero ninguno hace referencia este problema q tengo, y aquellos hilo que envian a otros enlaces todos estan en ingles y yo no soy bilingue lo siento por dar estos problemas pero necesito saber y cada dia mas.
Aaaahhh por sierto ya resolvi mis problemas con las relaciones y sus indices, pronto escribire esas respuesas.
Gracias de ante mano...:confused:


La franja horaria es GMT +2. Ahora son las 06:41:01.

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