Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
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 :
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.
Hors ligne
Le problème est partiellement résolu (contourné).
Je clos le topic.
Hors ligne
Par contre, si quelqu'un a déjà réussi à utiliser le DispatchHelper de OpenOffice sous PB, je suis preneur.
Hors ligne