[Résolu][Calc] Macro ne fonctionne plus sur nouvelle version

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur: Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

[Résolu][Calc] Macro ne fonctionne plus sur nouvelle version

Messagepar limix429 » 04 Juil 2019 13:14


La modération 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
Pièces jointes
Tableau TEST.ods
(22.48 Kio) Téléchargé 18 fois
Dernière édition par limix429 le 09 Juil 2019 14:44, édité 3 fois.
Boulot
LibreOffice 5.0.6.3.0+
Windows 7 Entreprise

Maison
LibreOffice 6.2.3.2
Windows 10
limix429
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 30 Jan 2010 13:21

Re: [Calc] Macro ne fonctionne plus sur nouvelle version

Messagepar Bidouille » 04 Juil 2019 14:14

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/viewtopic.php?f=2&t=49867
Faites votre test avec.
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 10067
Inscrit le : 08 Nov 2005 17:23
Localisation : Brest, France

Re: [Calc] Macro ne fonctionne plus sur nouvelle version

Messagepar limix429 » 04 Juil 2019 16:38

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.
Boulot
LibreOffice 5.0.6.3.0+
Windows 7 Entreprise

Maison
LibreOffice 6.2.3.2
Windows 10
limix429
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 30 Jan 2010 13:21

Re: [Calc] Macro ne fonctionne plus sur nouvelle version

Messagepar Piaf » 05 Juil 2019 20:32

Bonjour
A tester
Code : Tout sélectionner   AgrandirRéduire
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+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Piaf
GourOOu
GourOOu
 
Message(s) : 5622
Inscrit le : 25 Nov 2011 19:07
Localisation : Guyane

Re: [Calc] Macro ne fonctionne plus sur nouvelle version

Messagepar limix429 » 09 Juil 2019 14:42

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 :shock:

En te remerciant à nouveau.
Boulot
LibreOffice 5.0.6.3.0+
Windows 7 Entreprise

Maison
LibreOffice 6.2.3.2
Windows 10
limix429
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 30 Jan 2010 13:21


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 4 invité(s)