Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

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