Page 1 sur 1
[Résolu][Calc] Macro ne fonctionne plus sur nouvelle version
Publié : 04 juil. 2019 12:14
par limix429
La modération vous a écrit: Merci de respecter la syntaxe des balises La première lettre en majuscule, le reste en minuscules, le tout entre crochets. [Calc].
Nous avons modifié pour vous.
Bonjour,
J'ai écris une macro pour mon boulot qui faisait une copie de la feuille sélectionnée et la collait dans un nouveau document qui était envoyé par mail.
Cette macro fonctionne dans LibreOffice version 5.0.6.3.0+ mais ne fonctionne plus dans la version 5.4.5.1.M2. J'ai testé également dans la version 6.2.3.2 sans succès.
Aucun message d'erreur ne s'affiche. Le nouveau document est bien créé la feuille renommée mais le contenu n'est pas collé. En effet le fichier joint dans le mail est vide.
Il y a t il une fonction qui n'est plus disponible dans ces nouvelles versions ? J'ai cherché mais je n'ai rien trouvé en ce sens.
Merci d'avance je joins le fichier pour que vous puissiez tester.
Pour info ça se passe sous windows.
Emmanuel
Re: [Calc] Macro ne fonctionne plus sur nouvelle version
Publié : 04 juil. 2019 13:14
par Bidouille
Bonjour,
limix429 a écrit :ne fonctionne plus dans la version 5.4.5.1.M2. J'ai testé également dans la version 6.2.3.2 sans succès
Veuillez consulter ce fil pour savoir quelle version nous recommandons :
https://forum.openoffice.org/fr/forum/v ... =2&t=49867
Faites votre test avec.
Re: [Calc] Macro ne fonctionne plus sur nouvelle version
Publié : 04 juil. 2019 15:38
par limix429
J'essaierai avec la version 6.1.6 de libreoffice mais bon si la version antérieure et supérieure ne fonctionne pas je ne pense pas que ce sera concluent.
Mais ça ne réglera pas mon problème étant donné que je ne pourrais pas installé ces versions dans mon entreprise. je souhaite juste savoir si quelqu'un comprend pourquoi ça ne fonctionne pas.
Il semble que c'est le copier/coller qui ne fonctionne plus.
[EDIT]
J'ai oublié de le signaler il y a un bouton pour essayer la macro "copiepourenvoieparmail" dans la barre en haut à gauche.
Re: [Calc] Macro ne fonctionne plus sur nouvelle version
Publié : 05 juil. 2019 19:32
par Piaf
Bonjour
A tester
Code : Tout sélectionner
Option Explicit
Sub CopiePourEnvoiParMail
Dim sourceDoc As Object, sourceSheet As Object
Dim destDoc As Object, destSheets As Object, destSheet As Object, maCellule as Object, destURL As String
Dim aCopier as Object, sourceController As Object, destController As Object
Dim Args(0) as new com.sun.star.beans.PropertyValue
Dim sv As Object, unClient As Object, monMel As Object
Dim path As String, formatedPath As String
Dim today As Date
Dim formatedDate As String
Dim annexes(0) As String, nbF as long
sourceDoc = thisComponent
sourceSheet = sourceDoc.getCurrentController().getActiveSheet()
sourceController = sourceDoc.currentController
sourceController.Select(sourceSheet)
aCopier = sourceDoc.CurrentController.getTransferable()
destDoc = StarDesktop.LoadComponentFromURL("private:factory/scalc","_blank",0,array())
destSheets = destDoc.Sheets
nbF = destSheets.Count
destSheet = destSheets.GetByIndex(0)
maCellule = destSheet.getCellRangeByName("A1")
destController = destDoc.currentController
destController.Select(maCellule)
destController.insertTransferable(aCopier)
destSheet.Name = sourceSheet.Name
today = date()
formatedDate = Format(today, "ddmmyyyy")
GlobalScope.BasicLibraries.loadLibrary("Tools")
path=DirectoryNameoutofPath(ThisComponent.getURL(),"/")
formatedPath = Mid(path, 9 , Len(path))
destURL = formatedPath & "/Tableaux Envoyés/" & destSheet.Name & "/envoi" & destSheet.Name & "_" & formatedDate & ".ods" 'à modifier bien sûr
destURL = ConvertToURL(destURL)
destDoc.StoreToUrl(destURL,array())
on Error Resume Next ' ignorer l'erreur éventuelle
destDoc.close(True)
On Error GoTo 0 ' reprendre le traitement d'erreur normal
sv = createUnoService("com.sun.star.system.SimpleSystemMail")
unClient = sv.querySimpleMailClient
if IsNull(unClient) then
MsgBox("Client de messagerie non disponible", 16)
stop
end if
monMel = unClient.createSimpleMailMessage
with monMel ' évite de répéter monMel.xxxx
.Subject= "Envoi d'une copie d'une feuille"
annexes(0) = destUrl
.Attachement= annexes()
end with
unClient.sendSimpleMailMessage(monMel, 0)
End Sub
A+
Re: [Calc] Macro ne fonctionne plus sur nouvelle version
Publié : 09 juil. 2019 13:42
par limix429
Merci beaucoup Piaf ça fonctionne parfaitement.
J'ai même testé sur plusieurs versions étant donné que nos informaticiens sont pas fichus de déployer la même version d'un logiciel correctement. J'ai compté il y a au moins 5 versions différentes de libreoffice dans le parc
En te remerciant à nouveau.