Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-12-2006
Avatar de lookmydoom
lookmydoom lookmydoom is offline
Miembro
 
Registrado: abr 2006
Posts: 102
Poder: 18
lookmydoom Va por buen camino
problema al manupular archivos .doc

Buenas a todos, estoy haciendo una aplicacion para leer el contenido de los archivos .doc de word sin necesidad de abrirlo puesto que e probado varios codigos del foro y unos cuantos termian abriendo el word y eso es lo que no deceo, puesto que al final al aplicacion terminaria abriendo muchas ventanas de word, el codigo siguiente es un ejemplo de lo que estoy haciendo
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, comobj, OleServer, WordXP, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    WordApplication1: TWordApplication;
    WordDocument1: TWordDocument;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  WordApp,doc: OleVariant;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
WordApp:=ComObj.CreateOleObject('Word.Application');
wordapp.visible:=false;
doc:=ComObj.CreateOleObject('Word.Document');
wordapp.documents.open('c:\prueba.doc');
doc.ConnectTo(wordapp.ActiveDocument);
end;

end.


El problema es que no logro conectar el wordapplication con el worddocument.

En resumen lo que necesito hacer es leer el contenido del documento .doc pero sin necesidad de abrir el word para hacer busqueda de palabras para luego cerrar el documento y continuar con el siguiente, en caso que no se pueda leer el contenido me gustaria trasnformarlo a .txt pero tampoco me funcion la funcion save de los TWordDocuments

Última edición por lookmydoom fecha: 30-12-2006 a las 03:22:57.
Responder Con Cita
  #2  
Antiguo 04-01-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile ConnectKind = ckNewInstance

¡Hola a todos!

Lookmydoom:

Normalmente, si no tienes abierto Word, no debe aparecer ninguna ventana durante el procesamiento, a menos que ordenes esa aparición explícitamente, o bien, que se encuentre ya abierto y visible Word.

Te aconsejo utilizar el componente nativo TWordApplication, con el cual he trabajado en varias ocasiones. Para evitar que aparezcan nuevas ventanas de Word puedes establecer su propiedad ConnectKind a ckNewInstance. También es recomendable poner su propiedad AutoQuit en True para que no se quede en memoria la instancia de Word al terminar de ejecutarse la aplicación Delphi.

El siguiente código que he preparado muestra cómo abrir un archivo .doc y buscar una palabra dentro del mismo. Si la propiedad ConnectKind es ckNewInstance, no debe aparecer nada en pantalla durante la operación.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  OleVariant (WordApplication1.Documents).Open ('C:\WINDOWS\Temp\Documento.doc');

  If OleVariant (WordApplication1.Selection.Find).Execute ('juan') Then
    ShowMessage ('El documento sí contiene la palabra "juan".')
  Else
    ShowMessage ('El documento no contiene la palabra "juan".');

  OleVariant (WordApplication1.ActiveDocument).Close ();
end;

Lo probé con Delphi 7, componentes Servers 2000 y Word 2000, pero es muy probable que funcione sin ningún problema en versiones posteriores. Espero sea de utilidad.

Un abrazo invisible.

Al González.
Responder Con Cita
  #3  
Antiguo 03-03-2007
Avatar de lookmydoom
lookmydoom lookmydoom is offline
Miembro
 
Registrado: abr 2006
Posts: 102
Poder: 18
lookmydoom Va por buen camino
Bueno dicen que es mejor tarde que nunca, pues ya pensaba que este post no me lo respondian asi que lo di por muerto, pero de todas formas muchas gracias por el codigo me sirve de mucho y espero que le sirva a alguien mas
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problema con archivos de texto. morodo Lazarus, FreePascal, Kylix, etc. 5 29-04-2011 03:07:03
problema con archivos .bat ivanloco Varios 3 20-11-2006 13:34:15
Un problema con las fechas de los archivos Javier_A OOP 8 07-04-2006 13:27:24
Problema con archivos .ini fabiof2000 Varios 1 28-07-2005 22:11:05
Problema al adjuntar archivos al Outlook vicvil Internet 7 07-12-2004 18:51:20


La franja horaria es GMT +2. Ahora son las 16:37:59.


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