Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-12-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 18
Gabo Va por buen camino
Dudas sobre objetos OLE y sus procedimientos

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.
__________________
Saludos,
Gabo

A menos que se indique lo contrario, el código estará hecho en C++Builder.

Última edición por Gabo fecha: 17-12-2007 a las 17:28:52.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Dudas Crear Objetos en Tiempo de Ejecución Deiv OOP 9 09-08-2007 01:13:15
Dudas sobre procedimientos utopico Varios 2 21-07-2007 21:24:59
Aprendiendo sobre procedimientos almacenados pichi Vignola Firebird e Interbase 1 18-08-2006 15:41:48
Sobre procedimientos y funciones Perrero80 OOP 3 17-05-2006 11:55:42
Duda sobre Procedimientos Almacenados SaurioNet SQL 2 06-04-2004 08:24:05


La franja horaria es GMT +2. Ahora son las 23:21:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi