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 

Ayuda word 2003 Urgente LEO y todos los que puedan ayudar

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Ayuda word 2003 Urgente LEO y todos los que puedan ayudar Responder citando

Estimado programadores tengo el siguiente problema el cual consiste yo tengo varios documentote Word en lo cuales debo cambiar el texto “___/___/___” por un fecha que tengo almacenada en un tabla de paradox como hago, revise el foro y no encotre el siguiente codigo de Leo:
//////////////////////////////////////////////////////////////
Código:
Variant vWord, vDocumentos, vDocumento, vStoryRanges, vBuscar, vRango;
String sPath = ExtractFilePath(Application->ExeName);

String sFicheroPlantilla = sPath + "plantilla.doc";
String sFicheroGenerado = sPath + "plantilla2.doc";

//--- Abre Word
vWord = CreateOleObject("Word.Application");
vWord.OlePropertySet("Visible", !checkGuardar->Checked);

//--- Abre el documento que usaremos como plantilla
vDocumentos = vWord.OlePropertyGet("Documents");
vDocumento = vDocumentos.OleFunction("Open",
sFicheroPlantilla.c_str(), // Documento
false, // Confirmar conversiones
true, // Modo se solo lectura
false, // Añadir al menu de ficheros recientes
"" // Clave del documento
);

const int maxStory = 2;
int story[maxStory] = { 1 /*wdMainTextStory*/,
5 /*wdTextFrameStory*/ };
for (int i=0; i<maxStory; ++i)
{
vStoryRanges = vDocumento.OlePropertyGet("StoryRanges");
try
{
vRango = vStoryRanges.OleFunction("Item", story[i]);
}
catch (EOleSysError& e)
{
continue;
}

do
{
vBuscar = vRango.OlePropertyGet("Find");
vBuscar.OleProcedure("ClearFormatting");
vBuscar.OlePropertyGet("Replacement")
.OleProcedure("ClearFormatting");

//--- sustituimos una palabra
// Aqui podemos meter el bucle que va a ir reemplanzando palabras
vBuscar.Exec(Procedure("Execute")
<< "{{nombre}}" // Texto a buscar
<< VT_EMPTY // Coincidir mayusculas y minusculas
<< VT_EMPTY // Solo palabras completas
<< VT_EMPTY // Usar caracteres comodin
<< VT_EMPTY // Suena como
<< VT_EMPTY // Todas las formas de la palabra
<< true // Hacia adelante
<< VT_EMPTY // Wrap
<< VT_EMPTY // Format
<< Edit1->Text.c_str() // Reemplazar con...
<< 2 // 2 = reemplazar todo
);

//--- sustituimos otra palabra
vBuscar.Exec(Procedure("Execute") << "{{direccion}}"
<< VT_EMPTY << VT_EMPTY << VT_EMPTY << VT_EMPTY << VT_EMPTY
<< true << VT_EMPTY << VT_EMPTY << Edit1->Text.c_str() << 2);

vRango = vRango.OlePropertyGet("NextStoryRange");
} while(static_cast<IDispatch*>(vRango));
} // for i

//--- salvamos automaticamente si procede y cerramos Word
if (checkGuardar->Checked)
{
vDocumento.OleProcedure("SaveAs", sFicheroGenerado.c_str());
vDocumento.OleProcedure("Close", 0xFFFFFFFF);
vWord.OleProcedure("Quit");

ShowMessage("Documento generado.");
}

vWord = vDocumentos = vDocumento = vStoryRanges = vBuscar = vRango = Unassigned;
---------------------------------------------------------------------------
El cual tratando usar C++ Builder 4 me da problemas con “if (checkGuardar->Checked)” asi que no he podido corregirlo

Esperando si alguie me puede ayudar

Volver arriba


Buildero
Master



Registrado: 23 Dic 2003
Mensajes: 211
Ubicación: Puebla, México
Publicado: Lun 28 Nov, 2005 4:09 pm Asunto:

--------------------------------------------------------------------------------

Estimado edgar_dh...



Cita:

El cual tratando usar C++ Builder 4 me da problemas con “if (checkGuardar->Checked)” asi que no he podido corregirlo



checkGuardar es un checkbox, ¿lo has agregado a tu formulario?

También necesitas un Edit (claro, segun el ejemplo de _Leo).

Saludos
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.

Volver arriba


edgar_dh
Ens



Registrado: 12 Jul 2003
Mensajes: 25
Ubicación: Venezuela
Publicado: Lun 28 Nov, 2005 7:22 pm Asunto: Gracias por tu Pronta ayuda

--------------------------------------------------------------------------------

Buenos Días Gracias por la ayuda, estos momento ya se puede compilar pero al dar el clic al botón sale el siguiente caja de mensaje:

_Asserte:

Isbouns @ d:\bcb\emuvcl\utilcls.h/2410
Pres[Y]es to terminate, [N] o to continue and [C]ancel to debug

Con cualquier de las opciones que se presiones se genera una excepción y se cierra la aplicación ( Por otro lado tengo Win 2000, Office 2003 y C++ builder 4)

Si me puede ayudar se lo agradezco
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Alguien me puede enviar proyecto reemplazo de Word Responder citando

Por favor algún programador me pueden enviar por favor un proyecto de builder con los archivo de Word para ver como se realiza el reemplazo y ver cual es mi error dando que tengo una semana en esto y me esta afectando en no poder hacer dicho reemplazo

Edgar_dh@hotmail.com o Edgar_dh@yahoo.com

Gracias por su ayuda
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
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.