Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Como pasar el texto de un archivo MS Word a un TMemo

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Como pasar el texto de un archivo MS Word a un TMemo Responder citando

Hola otra vez,

creo que no hay mucho que aclarar, como pasar el texto de un archivo MS Word a un TMemo, en el foro no he encontrado nada poniendo texto AND word, o doc, ... etc

Muchas gracias!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Según lo que necesites leer.. Por ejemplo, para leer todo el contenido del documento:
Código:
// #include <comobj.hpp>
// Usamos una instancia de Word abierta
Variant word = GetActiveOleObject("Word.Application");
Variant doc = word.OlePropertyGet("ActiveDocument");
Memo1->Lines->Text = doc.OlePropertyGet("Content").OlePropertyGet("Text");
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola!

muchas gracias por la respuesta.

En realidad lo que quería (eso me pasa por no explicarme bién), es con un Opendialog abrir un .doc y copiar unicamente el texto.

Muchas gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

A quien le pueda interesar, utilizando un OpenDialog con filtro .doc puede sacar el texto ascii de la siguiente manera:
Código:
OpenDialog1->Execute();

AnsiString n = OpenDialog1->FileName;
if (!n.IsEmpty())
  {
  WordDocumentPtr doc;
  doc = WordApplication1->Documents->Open(TVariant(n));
  // sacamos el texto
  RangePtr docText = doc->Range();
  Memo1->Lines->Text = docText->Text;
  WordApplication1->Documents->Close(TVariant(n));
  }


Un saludo a todos
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Otra cosa que olvidé comentar...

en el form tengo un WordApplication1 y al pegar un ExcelApplication1 en el mismo form, al ejetuctar me salta este error:

[C++ Error] Unit1.cpp(144): E2015 Ambiguity between 'RangePtr' and 'Word_2k::RangePtr'

¿Como puedo arreglar esto?

MUCHAS GRACIAS!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Simplemente encuentra una declaracion con el mismo nombre en dos espacios de nombres (namespace) diferentes, para evitar el aviso antepon el nombre de espacio que te interesa usar en cada momento:

Word_2k::RangePtr o bien Excel_2k::RangePtr
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.