SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: desire en Lunes 2 de Octubre de 2006, 18:36

Título: Trabajar Con Documentos De Word Desde Builder
Publicado por: desire en Lunes 2 de Octubre de 2006, 18:36
Hola de nuevo, me gustaria saber como dejar un documento como estaba despues
de remplar palabras, es decir , si mi texto es:
       
        nombre      codigo

y despues de buscar y remplazar se me queda con:
       
         Pepe          6

quiero volver a dejarlo como lo tenia originalmente, he buscado en la ayuda de msdn pero el ejemplo que hay me da error.
Gracias
Título: Re: Trabajar Con Documentos De Word Desde Builder
Publicado por: eL_MoStRo en Miércoles 4 de Octubre de 2006, 01:07
Hola lo que puedes hacer es abrir el documento original y despues hacerle un SaveAs con otro nombre alternativo de esta manera todo lo que hagas solo se vera reflejado en el nuevo documento y no en el de base.

Código: Text
  1.  
  2.     Variant vWord, vDocumentos, vDocumento, vSeleccion;
  3.     String sPath = ExtractFilePath( Application->ExeName );
  4.    
  5.     String sSrcFile = sPath + "titulo platilla.doc";
  6.     String sDestFile  = sPath + "titulo resultado.doc";
  7.    
  8.     try {
  9.         vWord = Variant::CreateObject( "Word.Application" );
  10.         vWord.OlePropertySet( "Visible", false );
  11.     }
  12.     catch ( ... ) {
  13.         MessageBox(0,"Probablemente Microsoft Word no se encuentre instalado", "Error de comunicacion", MB_OK | MB_ICONERROR);
  14.         return;
  15.     }
  16.  
  17.             //--- Abre el documento que usaremos como plantilla
  18.     vDocumentos = vWord.OlePropertyGet( "Documents" );
  19.     vDocumento = vDocumentos.OleFunction( "Open",
  20.                                                   sSrcFile.c_str(),  // Documento
  21.                                                   false,                      // Confirmar conversiones
  22.                                                   true,                       // solo lectura
  23.                                                   false,                      // Añadir al menu de rec.
  24.                                                   ""                          // Pswd del documento¿
  25.                                              );
  26.  
  27.      // AQUI TODO LO QUE VAYAS A HACER
  28.  
  29.     vDocumento.OleProcedure( "SaveAs", sDestFile.c_str() );
  30.     vDocumento.OleProcedure( "Close", -1);
  31.     vWord.OleProcedure( "Quit" );
  32.     vWord = vDocumentos = vDocumento = vSeleccion = Unassigned;
  33.  
  34.  

Espero y te sirva, Saludos !!
Título: Re: Trabajar Con Documentos De Word Desde Builder
Publicado por: eL_MoStRo en Jueves 5 de Octubre de 2006, 03:39
Hola, estuve checando tu historial de mensajes y todos estan mas o menos relacionados, y por lo que puedo ver estas trabajando como si tuvieras cartas modelo, la verdad no estoy muy familiarizado con cartas modelo sin embargo te puedo recomendar que trabajes con Marcadores (bookmarks) con archivos plantilla y archivos destino, si tienes alguna otra pregunta no dudes en preguntar