Bonjour a tous
J'ai un problème lors d'un copier/coller via une macro, le coller
marche, mais pas le copier donc au final, la macro colle la dernière
chose qui a été copier, et non pas ce que j'ai demandé.
Ah oui, le copier/coller se fait dans deux fichiers !!!
Voila ma macro simplifié :
dim Feuille as object
dim oRange as object
dim Args(0) as new com.sun.star.beans.PropertyValue
dim dispatcher as object
dim oDoc as object
dim args4(5) as new com.sun.star.beans.PropertyValue
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
' On sélectionne la feuille 1, et on les de A1 à I50
Feuille = ThisComponent.Sheets.getByName("Feuille1")
oRange = Feuille.getCellRangeByName("A1:I50")
ThisComponent.CurrentController.Select(oRange)
dispatcher.executeDispatch(ThisComponent.CurrentController.Frame,
".uno:Copy", "", 0, Array())
' On ouvre le deuxième fichier
Args(0).Name = "Hidden"
Args(0).Value = true
oDoc = StarDesktop.LoadComponentFromURL(convertToURL(CheminSource +
"Essai.ods"), "_blank", 0 ,Args())
' On colle le tableau dans le deuxième fichier
Feuille = oDoc.Sheets.getByName("Feuille2")
oRange = Feuille.getCellRangeByName("A1")
oDoc.CurrentController.Select(oRange)
' on veut coller sans garder les formules : (code créer via
l'enregistreur de macro)
args4(0).Name = "Flags"
args4(0).Value = "SVDNT"
args4(1).Name = "FormulaCommand"
args4(1).Value = 0
args4(2).Name = "SkipEmptyCells"
args4(2).Value = false
args4(3).Name = "Transpose"
args4(3).Value = false
args4(4).Name = "AsLink"
args4(4).Value = false
args4(5).Name = "MoveMode"
args4(5).Value = 4
dispatcher.executeDispatch(oDoc.CurrentController.Frame,
".uno:InsertContents", "", 0, args4())
' pour test : collage directement :
dispatcher.executeDispatch(oDoc.CurrentController.Frame,
".uno:Paste", "", 0, array())
oDoc.Store
oDoc.Dispose
Les deux méthode de collage donne le même résulats. Je ne comprend pas
ce qu'il se passe !!!
existe-t-il une autre méthode pour copier des données d'un fichier vers
un autre, en gardant le formatage, mais pas les formules ???
Merci d'avance
Jean-Philippe THEVENOUX
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]