3 messages in org.openoffice.fr.prog[prog] RE: [SPAM] - Re: [prog] OLE et...
FromSent OnAttachments
Teddy GestelDec 22, 2005 2:29 am 
Bernard MarcellyDec 22, 2005 4:18 am 
Mathias MichelDec 22, 2005 8:25 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[prog] RE: [SPAM] - Re: [prog] OLE et OPENOFFICE - Email found in subjectActions...
From:Teddy Gestel (tedd@implicit.com)
Date:Dec 22, 2005 2:29:00 am
List:org.openoffice.fr.prog

Merci pour votre réponse. Je remarque qu'il faut toujours récupérer le ("com.sun.star.frame.Desktop").

Justement si j'arrive à instancier le Desktop, est il possible dans le 2. (qui
est en fait un Dispatch d'une string) d'envoyer une string (qui représente une
commande d'OpenOffice) pour effectuer cette commande.

En fait, OpenOffice comprendra t'il cette commande (ce que Word Fait, en lui
envoyant "FileOpen") ?

1. Pareil que ci-dessus, mais avec la chaine « com.sun.star.ServiceManager
». Ex : CREATEINSTANCE(« com.sun.star.ServiceManager » )

2. Pareil que ci-dessus. Ex : OLE_CALL(« FileOpen » ).

Le 1. Marche, d'ailleurs le petit icône OpenOffice apparaît en bas a droite dans
la barre des taches.

Le 2. ne marche pas, j'ai une RTE Windows m'indiquant que la Commande « FileOpen
» n'existe pas du coté de OpenOffice.

Pour piloter OpenOffice depuis OLE - COM, une fois obtenu le Service Manager, on utilise uniquement des appels de l'API OpenOffice.org. Cette API est très différente des commandes Microsoft Office. L'objet Service Manager permet d'obtenir d'autres objets ou services, qui sont utilisés pour obtenir d'autres objets, etc. Typiquement cela donne:

objServiceManager= CREATEINSTANCE("com.sun.star.ServiceManager")

Stardesktop= objServiceManager.createInstance("com.sun.star.frame.Desktop")

maDoc = Stardesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, args)

monTexte = maDoc.getText() monTexte.setString("Hello World")

Avec certains languages, l'utilisation de l'API via COM est très similaire à ce qu'on ferait avec Basic.