PB à toute heure et à tout moment. (à parcourir avec modération)

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 25-11-2008 18:48:53

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

[RESOLU] OLE avec OpenOffice

Bonjour,

J'ai un problème de manipulation OLE avec OpenOffice.
Je cherche à copier le contenu du clipboard dans un document SCalc.
Actuellement, j'arrive à ouvrir le document et à me positionner sur la première cellule de la première feuille.
Le soucis réside dans le Paste. En théorie il faut instancier plusieurs objets OOo comme suit :

Code: pb

oleobject  ole_dispatch, ole_clipboard, ole_clipdata, ole_type

ole_Dispatch = ole_ServiceManager.createInstance("com.sun.star.frame.DispatchHelper")
ole_clipboard = ole_ServiceManager.createInstance("com.sun.star.datatransfer.clipboard.SystemClipboard")
ole_clipdata = ole_clipboard.getContents()
ole_type = ole_clipdata.getTransferDataFlavors()

J'ai une erreur lors de l'affectation du ole_type. 

Si je déclare ole_type comme un oleobject unique j'ai l'erreur suivante :

Size mismatch in array-to-object conversion

Si je déclare ole_type en tableau de oleobject j'ai l'erreur suivante :

Type mismatch in array-to-object conversion

Si je déclare ole_type en tableau de string pour voir, j'ai l'erreur suivante :

Mismatched ANY data types in expression: string, oleobject

J'en conclue que la méthode ole_clipdata.getTransferDataFlavors() retourne un tableau d'objets (oleobject). Mais je ne vois pas comment le récupérer. J'ai essayer en déclarant un tableau dynamique ole_type[] et un tableau fixe ole_type[1000]. Rien à faire...
Quelqu'un a-t-il déjà lancé un paste dans openoffice depuis PB ???
Avec MS-Office je fait juste ole_feuille.Paste(). Ca fait réver...

Bien sur j'ai déjà exploré les profondeurs de Google. Sans résultat... Pourtant ce genre d'affectation semble passer en Delphi car il y a quelques scripts sur le net.


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#2 27-11-2008 14:31:00

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] OLE avec OpenOffice

Le problème est partiellement résolu (contourné).
Je clos le topic.


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#3 27-11-2008 14:40:11

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] OLE avec OpenOffice

Par contre, si quelqu'un a déjà réussi à utiliser le DispatchHelper de OpenOffice sous PB, je suis preneur.


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22