OpenOffice (Calc)

Résolu
dali33 Messages postés 3 Date d'inscription dimanche 19 juin 2005 Statut Membre Dernière intervention 13 novembre 2006 - 10 nov. 2006 à 11:08
dali33 Messages postés 3 Date d'inscription dimanche 19 juin 2005 Statut Membre Dernière intervention 13 novembre 2006 - 13 nov. 2006 à 16:39
Je veux sélectionner une cellule dans une feuille Calc et y coller une image (contenue dans le presse papier).

La sélection d'une cellule avec le code suivant ne cause pas d'erreur, mais ne marche pas.
Dim args1(0) As Object

args1(0) = setOOoProp("Name", "ToPoint")

args1(0) = setOOoProp("Value", "$C$2")

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1)

dispatcher.executeDispatch(document, ".uno:Paste"
,
""
, 0, Args)

L'image est collée en A1
Quelqu'un a-t-il une solution à ce problème ou une autre façon d'insérer l'image (initialement dans un fichier) ?
Merci pour votre aide.

3 réponses

michelxld Messages postés 402 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 12 octobre 2008 32
10 nov. 2006 à 20:27
bonsoir

tu peux tester

Sub SelectionneCellule_Collage
Dim oCC As Object , Cellule As Object
Dim Args() As New com.sun.star.beans.PropertyValue



oCC = ThisComponent.CurrentController
Cellule = oCC.ActiveSheet.getCellRangeByName("C2")
oCC.Select(Cellule)



Dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
Dispatcher.executeDispatch(oCC.Frame, ".uno:Paste", "", 0, Args)
End Sub




bon week end
michel
3
dali33 Messages postés 3 Date d'inscription dimanche 19 juin 2005 Statut Membre Dernière intervention 13 novembre 2006
13 nov. 2006 à 13:37
Merci pour ton aide, cela marche.

J'avais essayé quelque chose de semblable, mais cela ne marchait pas.

PS: la ligne Dim Args() As New com.sun.star.beans.PropertyValue ne marche pas en VB2005, il est nécessaire de définir une fonction
0
dali33 Messages postés 3 Date d'inscription dimanche 19 juin 2005 Statut Membre Dernière intervention 13 novembre 2006
13 nov. 2006 à 16:39
Nouveau problème

L'opération coller est dans une boucle et je veux coller une image contenue dans une imagelist.

Dim oCC
As

Object
, oCell
As

Object

Dim oImage
As
Image

For i = 0
To
PicturesNb - 1

'inserts a picture at the top left position of TargetCell
oImage = frmE.SlidesImageList.Images(i)

My.Computer.Clipboard.Clear()

My.Computer.Clipboard.SetImage(oImage)Application.DoEvents()

oCC = oCalc.CurrentController

oCell = oCC.ActiveSheet.getCellRangeByName(

"C" + (i + 2).ToString)oCC.Select(oCell)

dispatcher.executeDispatch(document,

".uno:Paste",
""
, 0, Args)

Next

En fait aucune image n'est insérée.

Cependant, si dans Mspaint on fait Coller, elle est effectivement collée !
La routine marche si on charge le clipboard avec Copier
0
Rejoignez-nous