PDA

Ver la Versión Completa : Nuevo Documento Excel Desde Cero


champy
11-01-2004, 20:44:36
Muy buenas a tod@s, a ver, necesito crear desde 0 en delphi un documento nuevo y estoy tratando de usar los componentes server... por cierto, no tengo ni idea de como funcionan y no encuentro ninguna documentacion sobrre ellos... en fin... he tratado de seguir algunos ejemplos de los foros...

mas o menos esto

var
Hoja : _WORKSHEET;
Libro : _WORKBOOK;
begin
EXCEL.CONNECT;
Libro := Excel.Workbooks.Add(NULL, 0);
Hoja := Libro.Sheets[1] as _WORKSHEET;
Excel.Visible[0] := true;

pero no sé porque, cualquier accion despues de 'connect' el componente da una excepcion con el mensaje... el servidor produjo una excepcion

despues de esto, el excel se abre pero se queda todo bloqueado, la aplicacion y el excel en si... no sé que hacer ¿alguien puede hecharme una mano? me sobra con que me digais donde puedo documentarme. gracias de antemano y un saludo

champy
12-01-2004, 00:26:59
Muy buenas, soy yo otra vez, en fin... llevo toooda la tarde probando codigos de aqui, mirando manuales alla... y he llegado a la conclusion de que el codigo en si, es correcto... lo más basico (Conectar, crear un libro y establecerme en una hoja) pero en cambio durante la ejecucion el codigo da reventones, el CONNECT va bien pero cuando intento añadir un libro...

ExcelApplication.WorkBooks.Add(EmpyParam, 0);

El motor de Excel responde con 'El servidor lanzó una excepcion'... pensaba que estaba haciendo algo mal pero incluso algún código fuente de pruebas que he encontrado por ahi... le ocurre lo mismo.

:confused: :confused: :confused:¿Puede ser que necesite en el sistema alguna libreria que me falta?... ¿Algo?... ¿alguien tiene la menor idea de que es lo que me puede estar ocurriendo? :confused: :confused: :confused:

Gracias

roman
12-01-2004, 17:27:23
¿Coinciden las versiones de las componentes de Excel en Delphi con la del Excel que está instalado en la pc?

// Saludos

champy
13-01-2004, 11:24:08
Lo cierto es que los componentes creo que son version 97 y el Office instalado es el 2000... ¿Puede ser esto?... ¿Hay alguna actualizacion de los componenetes en algún sitio o me toca morir a Office 97?

Muchas gracias, almenos me orientas en el posible motivo

Descendents
13-01-2004, 14:57:58
Reinstalate el delphi, y ponte el excel 2000, te lo pregunta en la instalación si no recuerdo mal, el office que usas

Saludos

roman
13-01-2004, 16:44:42
Lo cierto es que los componentes creo que son version 97 y el Office instalado es el 2000... ¿Puede ser esto?... ¿Hay alguna actualizacion de los componenetes en algún sitio o me toca morir a Office 97?


No creo que este sea el problema. Yo también tengo Office 2000 y uso las componentes para Office 97. Yo te preguntaba por la versión en caso de que
fueran más disímiles.

En cuanto a actualizaciones pues depende del Delphi que uses ya que al menos el 6 y el 7 incluiyen componentes tanto para Office 97 como para Office 2000 aunque como te indicaron, se escogen unas al instalar Delphi. Sin embargo no creo que haya que reinstalar Delphi para cambiar de componentes.

// Saludos

ptt
28-01-2005, 07:03:34
Hola.
Necesito saber si pudieron solucionar este problema, pues me está pasando algo similar y no encuentro solución.
Estoy utilizando TExcelApplication de delphi 5, me conecto normalmente y cuando hago visible a Excel obtengo EOleException 'El servidor lanzó una excepcion' como respuesta. El excel se ejecuta y se muestra en pantalla pero se produce la misma excepción ante cualquier acción del programa.
Estoy usando Excel 97, Dephi 5, Win XP PRO SP2.
Tengo el mismo problema cuando uso otros componentes que baje de internet y con otros programas de ejemplo que probé.
Haciendo pruebas en otro equipo con Excel 97 y NT 4 SP 5 todo funcionó correctamente, por lo que creo que tengo algún problema en la configuración de esta PC :confused:

Alfredo
04-02-2005, 14:27:54
Champy, a mi me ha estado pasando algo similar.... pero creo que ya estoy domando al potro... :D .

Despues de tanto copiar, pegar y probar codigo me di cuenta que estaba curzando muchas tecnicas distintas. Descubri o entendi que puedes acceder a word-excel por distintas librerias y metodos, y que varia mucho la forma en que accedes y controlas dependiendo de los metodos que uses.
Por ejemplo para activar Word:

1) Word := GetActiveOleObject('Word.Application');
2) Word := GetActiveOleObject('Word.WordBasic');
3) Word := CoApplication_.Create // con libreria ComObj, ActiveX,Word_TLB
4) WordApplication.connect // con TWordApplication de la palet server

.... y de todos esos el que menos entiendo el es ultimo, (Y CUIDADO SI NO ES LA FORMA MAS FACIL, pero como que menos documentada).

Para los dos primeros te recomiendo que busque en la ayuda de word. ( Ve al menu herramientas > Macros >Editor de Visual Basic y en la ayuda busque los metodos que usan cada objeto, unos parecen ser mas faciles que otros.
en todo caso ve a este sitio donde te dan varios ejemplos practicos y una breve pero concisa explicación (esta en frances, pero creo que no tendras problema al ver los ejem.) : http://lfe.developpez.com/PasExcel/

Espero haber ayudado en algo, sobre todo porque me estoy metiendo a contestar y apenas estoy aprendiendo, quiza hasta requiero alguna corrección, la cuan agradezco sinceramente... :D