| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Isa1976 Lt Cmdr


Registrado: 23 Nov 2005Mensajes: 104
|
Publicado: Lun 09 Jul, 2007 9:51 pm Asunto: Como pasar el texto de un archivo MS Word a un TMemo |
|
|
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 |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 10 Jul, 2007 2:37 am Asunto: |
|
|
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 |
|
 |
Isa1976 Lt Cmdr


Registrado: 23 Nov 2005Mensajes: 104
|
Publicado: Mar 10 Jul, 2007 8:17 am Asunto: |
|
|
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 |
|
 |
Isa1976 Lt Cmdr


Registrado: 23 Nov 2005Mensajes: 104
|
Publicado: Mie 11 Jul, 2007 6:01 pm Asunto: |
|
|
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 |
|
 |
Isa1976 Lt Cmdr


Registrado: 23 Nov 2005Mensajes: 104
|
Publicado: Mie 11 Jul, 2007 6:27 pm Asunto: |
|
|
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 |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Jue 12 Jul, 2007 6:31 pm Asunto: |
|
|
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 |
|
 |
|