Je dois écrire une macro qui récupérera le contenu de certaines cellules et ira ouvrir un un second document calc, y recopiera les cellules puis le refermera (Il s'agit d'y accumuler les résultats obtenus par le premier document).
J'ai trouvé des choses intéressantes dans le livre de Marcelly et Godard, ainsi que dans les suprêmes, ici : https://forum.openoffice.org/fr/forum/v ... =15&t=6371
J'ai arrangé la macro de Piaf car, à la différence de sa macro, je ne veux pas créer un document, pour mon stockage, mais en ouvrir un qui existe déjà.
Voici le code que j'ai bidouillé :
Code : Tout sélectionner
Sub CopyZoneNewClasseur()
Dim oDoc as Object, monDocument as Object, oRange as Object, aCopier as Object, sheet as object
Dim adresseDoc as String
oDoc = thisComponent
adresseDoc = ConvertToURL("C:\Users\SONY\Desktop\DocCible.odt")
oRange = oDoc.Sheets(0).getCellRangeByName("A1:D1")
oDoc.CurrentController.Select(oRange)
aCopier = oDoc.CurrentController.getTransferable()
monDocument = StarDesktop.loadComponentFromURL(adresseDoc, "_blank", 0, Array() )
oRange = monDocument.Sheets(0).getCellRangeByName("A1")
monDocument.CurrentController.Select(oRange)
monDocument.CurrentController.insertTransferable(aCopier)
End Sub
et voici le message d'erreur que j'obtiens :
Erreur d'exécution Basic.
Une exception s'est produite :
Type : com.sun.star;lang;IllegalArgumentException
Message : Unsupported URL <file:///C:/Users/SONY/Desktop/docCible>.
Une ligne du code est surlignée :
Code : Tout sélectionner
monDocument = StarDesktop.loadComponentFromURL(adresseDoc, "_blank", 0, Array() )
Le fichier est en pièce jointe
Cordialement
ff