Hola a todos,
aquí estoy de nuevo, para hacerles un pregunta.
Verán, hace un tiempo tuve que hacer una aplicación en la que abría y escribía en un documento Word. Para realizarla, consulté varios códigos que estaban por ahí en Internet. Un ejemplo simple de lo que hice es éste código:
Código:
// CREO EL WORD
Variant word, doc;
try
{
word = Variant::GetActiveObject("Word.Application");
word.OleProcedure("Quit", false);
word = Variant::CreateObject("Word.Application");
}catch(...){
word = Variant::CreateObject("Word.Application");
}
word.OlePropertySet( "Visible", (Variant) true );
doc = word.OlePropertyGet("Documents");
// Creo la ruta completa al archivo *.doc
AnsiString archivo;
archivo = "C:\\archivo.doc");
// Si existe el archivo, lo abro.
if (FileExists(archivo))
{
doc.OleFunction("Open", path, Unassigned, true);
}else{
MessageBox(this->Handle, "El archivo no existe", "Error" , MB_APPLMODAL | MB_OK | MB_ICONERROR);
word.OleProcedure("Quit");
return;
}
// UNA VEZ ABIERTO ESCRIBO EN ÉL
try
{
// CREO LOS ENCABEZADOS
Variant Selection = word.OlePropertyGet("Selection");
Variant Font = Selection.OlePropertyGet("Font");
Variant Parrafo = Selection.OlePropertyGet("ParagraphFormat");
Parrafo.OlePropertySet("Alignment","1");
Font.OlePropertySet("Name","Monotype Corsiva");
Font.OlePropertySet("Bold","1");
Font.OlePropertySet("Size","13");
Selection.OleProcedure("TypeText", "Hola a todos");
}catch(...){
MessageBox(this->Handle, "Error al escribir en el archivo", "Error" , MB_APPLMODAL | MB_OK | MB_ICONERROR);
}
Ahora, si bien es cierto que entiendo la lógica de lo que hice, no conozco a plenitud muchas de las instrucciones que utilicé.
Por ejemplo, cuando ocupo CreateObject o GetActiveObject, ¿con qué otros objetos puedo trabajar?
O en los casos de los wrapper OleFunction, OleProcedure, OlePropertySet y OlePropertyGet, ¿cómo puedo saber qué instrucciones soportan? Es decir, en OleProcedure, puedo darle la instrucción "Quit" y "ClearFormatting", pero, ¿cómo averiguo qué otras instrucciones existen?
Cómo verán mis dudas son muy generales, y en realidad, lo que quiero saber es dónde encontrar información al respecto para leer y entenderlo bien.
Gracias de antemano por la ayuda.