[Résolu][Calc] Pièces jointes en PDF qui ne s'attachent plus

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 !
kooper
Fraîchement OOthentifié
Messages : 7
Inscription : 19 juil. 2019 09:24

[Résolu][Calc] Pièces jointes en PDF qui ne s'attachent plus

Message par kooper »

Bonjour à tous,

J'utilise LibreOffice 6.1.
Depuis la mise à jour datant du 17/07/2019, j'ai un problème quand je veux envoyer mes mails avec ma macro calc, qui fonctionnait bien pourtant depuis 12 mois.
Je l'a met ici mais je préviens, c'est de la débrouillardise.

Quand je veux exécuter ma macro je reçois le message MAPI_E_ATTACHEMENT_NOT-FOUND
Ce qui se passe c'est que le fichier est présent avant l’exécution mais qu'il disparait après.
Mon chemin d'accès a toujours fonctionné. J'ai essayé de mettre le dossier A possédant le fichier DEMANDE_RDV2.pdf directement sur le bureau, j'ai l'impression que la macro a gardé le fichier en mémoire MAIS il a disparu du dossier A.

Mais je remarqué que lorsque j’exécute pour la 1er fois, le mail se crée correctement (texte en html) mais que la pièce jointe est en moz_mapi-1.

Je suis inquiet parce que j'ai ai vraiment besoin et notre service info me dit que la mise à jour concernait des failles de sécurité. Ils ne peuvent rien car c'est géré par un prestataire externe.

Pour préserver la confidentialité j'ai changé plusieurs choses dans le fichier.

Merci

Code : Tout sélectionner

  Sub mail_14
  
   Dim Messagerie As Object, Client As Object, Courrier As Object
    dim doc as object, olig As integer, oxo as integer, per7, per8
    dim feuils as object
    dim feuil1 as object
    dim feuil2 as object, per As object, per1 As object, per2 As object, per3 as object, balise1 As object, balise2 As object, per4 as object, per5 as object, per6 as object
    dim adh_num as object, nom as object, mel as object, dater1 As object, siret As object, statut As object, jours As object, dater2 As object
      
          Messagerie = CreateUnoService("com.sun.star.system.SimpleSystemMail")'version Windows Aoo3/Libo3 & LibO4
          Client = Messagerie.querySimpleMailClient()
          Courrier = Client.createSimpleMailMessage()
     
     doc = thiscomponent
     feuils= doc.sheetS
 
    feuil2=feuils.getbyname("tab2")
    
    
     olig = feuil2.getcellbyposition(12,0).String
     
     adh_num = feuil2.getcellbyposition(1,olig)
     mel = feuil2.getcellbyposition(13,olig)
     nom = feuil2.getcellbyposition(2,olig)
         dater1= feuil2.getcellbyposition(3,olig)
         siret= feuil2.getcellbyposition(14,olig)

per= feuil2.getcellbyposition(7,olig)
per1= feuil2.getcellbyposition(8,olig)
 per2= feuil2.getcellbyposition(9,olig)
 per3= feuil2.getcellbyposition(10,olig)
per4=feuil2.getcellbyposition(11,olig)  
                            
per5 = feuil2.getcellbyposition(20,olig)
per6 = feuil2.getcellbyposition(21,olig)
    dater2= feuil2.getcellbyposition(27,0)        
per7=feuil2.getcellbyposition(6,olig)
per8=feuil2.getcellbyposition(12,olig)   
                           
feuil2.getcellbyposition(7,0).string = per.string
feuil2.getcellbyposition(8,0).string = per1.string

          Courrier.Recipient = mel.string'Adresse de l'adherent
         
         
         If per7.string = 05 or per7.string = 15  THEN  
          Courrier.Subject = "APST BTP RP - Declaration non parvenue - " & adh_num.string & " " & nom.String
           courrier.body = "<html>blblblbla</html>"
           Courrier.Attachement = Array("J:\Mes documents\A\TELEDECLARATION.pdf", "J:\Mes documents\A\BORDEREAU3.pdf" , "J:\Mes documents\A\CONNEXION_INTERNET.pdf","J:\Mes documents\A\NOTE.pdf")'PcsJt()
       else
         
         If per7.string = 05 or per7.string = 15  THEN  
          Courrier.Subject = "APST BTP RP - Declaration non parvenue- " & adh_num.string & " " & nom.String
           courrier.body = "<html>blblblbla</html>"
            Courrier.Attachement = Array("J:\Mes documents\A\TELEDECLARATION.pdf", "J:\Mes documents\A\BORDEREAU3.pdf" , "J:\Mes documents\A\CONNEXION_INTERNET.pdf","J:\Mes documents\A\NOTE.pdf")'PcsJt()
       else
       
         If per7.string = 03 or per7.string = 13  THEN  

         Courrier.Subject = "APST BTP RP - Reglement_sans_bordereau - " & adh_num.string & " " & nom.String
           courrier.body = "<html>blblblbla</html>"
           Courrier.Attachement = Array("J:\Mes documents\A\BORDEREAU3.pdf", "J:\Mes documents\A\CONNEXION_INTERNET.pdf","J:\Mes documents\A\NOTE.pdf")'PcsJt()

               End If
               end if
               end if

'<header> <img src=""W:\logo.jpg"" ></header>
          Client.sendSimpleMailMessage(Courrier,1)
       
          
 End Sub
'==================
sub envoi_mail_relance3

dim oxo as integer, olig As integer, feuil2 As object, oli As integer, mel as object
dim document as Object

document   = ThisComponent.CurrentController
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
feuil2=document.activesheet("tab2")


dim args1(0) as new com.sun.star.beans.PropertyValue
    args1(0).Name = "ToPoint" '
    args1(0).Value = "tab2.a2" 
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

call mutli.x_lite

oxo = document.activesheet("tab2").getcellbyposition(15,0).string
olig = 1
oli = 0
feuil2.getcellbyposition(12,0).string= olig


DO 
	if oxo <= 0 then exit Do

	mel = feuil2.getcellbyposition(13,olig)


	
	if mel.string ="UNDELIVERED@apst.fr" or mel.string ="undelivered@@apst.Fr" Or mel.string ="#N/D" Or mel.string = "" or mel.string ="undelivered@apst.fr" or mel.string = 0 Or mel.string ="#VALEUR !" Then
		wait 1
		call mutli.coloriage

		dispatcher.executeDispatch(document, ".uno:JumpToNextCell", "",0, args1()) 
	
	else
		
	if mel.string <>"UNDELIVERED@apst.fr" or mel.string <>"undelivered@@apst.Fr" Or mel.string <>"#N/D" Or mel.string <> "" or mel.string <>"undelivered@apst.fr" or  mel.string <> 0 Or  mel.string <>"#VALEUR !" Then
   

		if feuil2.getcellbyposition(9,olig).string <> 40 then 
			On Error Resume Next
			call mutli.coloriage2
			'call Module2.mail_18 

		wait 1
		else

		if feuil2.getcellbyposition(9,olig).string = 40 then 
			On Error Resume Next
		wait 10
			call mutli.coloriage3
			call mail_14



		end if
		End If
 
		dispatcher.executeDispatch(document, ".uno:JumpToNextCell", "",0, args1()) 
 

	end if

				oli= oli + 1
	end if
				olig= olig +1
feuil2.getcellbyposition(13,0).string= oli
feuil2.getcellbyposition(12,0).string= olig
feuil2.getcellbyposition(10,0).string = oxo
feuil2.getcellbyposition(11,0).string= mel.string


If oli = 10 Then 
wait 30000
oli = 0
End if


loop until olig -1= document.activesheet("tab2").getcellbyposition(14,0).string 'document.sheets.getbyname("tab2").getcellbyposition(14,0).string = 0
dispatcher.executeDispatch(document, ".uno:Save", "", 0, args1())
'dispatcher.executeDispatch(document, ".uno:Quit", "", 0, args1())
end Sub
'==================================
 Ajout : - Je n'ai pas vu quand le modérateur a changé le titre - le fichier est trop lourd 
Dernière modification par kooper le 19 juil. 2019 10:34, modifié 10 fois.
le plus difficile c'est de commencer. Travail sur LibreOffice 6.1, environnement WINDOWS 10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9251
Inscription : 28 août 2010 08:45

Re: Problème pièces jointes qui ne s'attachent plus

Message par micmac »

Bonjour,
Dans votre signature il y a écrit :le plus difficile c'est de commencer. Travail sur LibreOffice version m??j r??guli??rement, environnement WINDOWS SERVER 2012
Nous préférerions que vous y indiquiez
  1. La version exacte de LibO (LibO 6.1.6 par exemple) ;
  2. La version exacte du système d'exploitation (Windows XP SP3, Vista SP2, Windows 7 SP1, Win 8.1, Win 10, Ubuntu 18.04, MacOS 10.14.5 par exemple).
Accès direct à votre signature pour la corriger.

Cordialement
 Ajout : Pourquoi avoir re-modifié le titre que le modérateur avait déjà modifié ?
Le terme problème est inutile et cette section requiert le balisage du titre. Lisez le bandeau rouge en haut de la page.
La signature doit correspondre à ce qui est attendu.
Si cela n'est pas fait, le sujet sera verrouillé 
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9362
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise + F-Savoie

Re: Pièces jointes EN PDF qui ne s'attachent plus

Message par tintin »

Bonjour,
  • Lorsque vous répondez à un message, faites-le à la suite et non dans votre message précédent sinon on n'y comprend plus rien.
  • Un fichier dont la taille excède 500 Ko doit être joint uniquement via http://www.cjoint.com/
  • Si le titre n'est pas balisé comme cela doit être le cas dans cette section vous allez vous attirer des remarques
  • Si vous ne mettez pas votre signature en conformité avec ce qui est demandé vous allez vous faire rattraper par la patrouille :mrgreen:
AOO 4.1.15 et LibO stable 7.6.6 / macOS Intel 13.6.6 Ventura
Adoptium-temurinJDK-jre_1.8.0_402 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
kooper
Fraîchement OOthentifié
Messages : 7
Inscription : 19 juil. 2019 09:24

Re: Pièces jointes EN PDF qui ne s'attachent plus

Message par kooper »

tintin a écrit :[*]Si le titre n'est pas balisé comme cela doit être le cas dans cette section vous allez vous attirer des remarques
[*]
...j'ai mis WINDOWS 10 est ce bon ?
[*]Un fichier dont la taille excède 500 Ko doit être joint uniquement via http://www.cjoint.com/
... ok j'y vais.
Si vous ne mettez pas votre signature en conformité avec ce qui est demandé vous allez vous faire rattraper par la patrouille :mrgreen: [/list]
...j'ai mis [Calc] est ce bon ?
le plus difficile c'est de commencer. Travail sur LibreOffice 6.1, environnement WINDOWS 10
kooper
Fraîchement OOthentifié
Messages : 7
Inscription : 19 juil. 2019 09:24

Re: Pièces jointes EN PDF qui ne s'attachent plus

Message par kooper »

tintin a écrit : [*]Un fichier dont la taille excède 500 Ko doit être joint uniquement via http://www.cjoint.com/
...Je viens d'y jetter un oeil, pas possible au bureau de le faire, quand je vais rentrer... mais c'est un code assez facile, je l'ai trouvé ici. Le problème se trouve uniquement dans l'ajout du pdf, le code peut suffire, non? :marto:
le plus difficile c'est de commencer. Travail sur LibreOffice 6.1, environnement WINDOWS 10
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25175
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Pièces jointes EN PDF qui ne s'attachent plus

Message par Dude »

kooper a écrit :et notre service info me dit que la mise à jour concernait des failles de sécurité
Mise à jour de quoi : LibreOffice, Windows, messagerie ?
Déjà, il faudrait détailler ce point : savoir de quelle version à quelle autre, tu es passé.

Bref, nous donner toutes informations utiles afin de ne pas se perdre en conjecture.
kooper
Fraîchement OOthentifié
Messages : 7
Inscription : 19 juil. 2019 09:24

Re: [Calc] Pièces jointes EN PDF qui ne s'attachent plus

Message par kooper »

Bonjour Dude,
Bonjour à tous,

Selon le responsable du service informatique : il y a eu la mise à jour de Mozilla qui comprend donc Thunderbird et Firefox.
Il y a eu aussi la mise à jour de LibreOffice.
Vu comment "le système" est verrouillé par le service informatique - et je ne vois pas comment ils peuvent comprendre que je m'adresse à un forum, bref, ils ne sont pas très coopératifs pour plusieurs (leurs) raisons - à moins que vous me dites où chercher, je n'aurai pas plus d'infos que cela... :(
 Ajout : La version de Thunderbird actuelle est 60.8.0 (32 bits) 
le plus difficile c'est de commencer. Travail sur LibreOffice 6.1, environnement WINDOWS 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: [Calc] Pièces jointes EN PDF qui ne s'attachent plus

Message par jeanmimi »

Bonjour,
Le code posté ici fait soit l'envoi du fichier, soit de la feuille active :
https://forum.openoffice.org/fr/forum/v ... p?p=207174#
Donc, à tester et à adapter.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
kooper
Fraîchement OOthentifié
Messages : 7
Inscription : 19 juil. 2019 09:24

Re: [Calc] Pièces jointes EN PDF qui ne s'attachent plus

Message par kooper »

jeanmimi a écrit :Bonjour,
Le code posté ici fait soit l'envoi du fichier, soit de la feuille active :
https://forum.openoffice.org/fr/forum/v ... p?p=207174#
Donc, à tester et à adapter.
Bonjour JeanMimi,

Je n'ai pas lu encore donc je vais voir mais à l'instant, je viens de rajouter ConvertToUrl() soit

Code : Tout sélectionner

 Sub mail_adh
    Dim Messagerie As Object, Client As Object, Courrier As Object
    dim doc as object
    dim feuils as object
    dim feuil1 as object
    dim feuil2 as object
    dim numero as object, mel as integer, mel2 as object, dater As object, anx as string
      
      
          Messagerie = CreateUnoService("com.sun.star.system.SimpleSystemMail")
          Client = Messagerie.querySimpleMailClient()
          Courrier = Client.createSimpleMailMessage()
     
     doc = thiscomponent
     feuils= doc.sheetS

     feuil2=feuils.getbyname("tab2")
     anx(0) = ConvertToUrl("W:\A\BORDEREAU3.pdf")
       
          Courrier.Subject = "POLTRON" '& numero.string
          Courrier.Recipient = feuil2.getcellbyposition(19,1).string 
          courrier.body = "nom=joint"
          Courrier.Attachement = Array(anx(0))

          Client.sendSimpleMailMessage(Courrier,0)
Et mon problème de MAPI a disparu, ainsi j'ai pu déjà répété l'action *2 et le fichier pdf ne sait pas effacer.

En ajoutant des liens pour les annexes (anx) j'espère envoyer le mm nombre de pdf que je voulais (ici 5).

Je ne ferme pas encore le post pour vous informer plus tard si j'ai bien retrouvé les mm sensations càd qu'avec Courrier.Attachement je ne faisais que rajouter des virgules et de liens exemple courrier.attachement("w:\a\x.pdf", "w:\a\y.pdf","w:\a\z.pdf", ....)

PS : Heureux d'apporter, enfin, ma contribution à un si grand forum. Sincèrement. :super:
le plus difficile c'est de commencer. Travail sur LibreOffice 6.1, environnement WINDOWS 10
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25175
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Pièces jointes EN PDF qui ne s'attachent plus

Message par Dude »

kooper a écrit :mais à l'instant, je viens de rajouter ConvertToUrl() [...]
Et mon problème de MAPI a disparu, ainsi j'ai pu déjà répété l'action *2 et le fichier pdf ne sait pas effacer.
De ce que je vois, c'est que la localisation des fichiers a changé entre ton 1er message et le dernier.

D'abord :

Code : Tout sélectionner

Courrier.Attachement = Array("J:\Mes documents\A\TELEDECLARATION.pdf", "J:\Mes documents\A\BORDEREAU3.pdf" , "J:\Mes documents\A\CONNEXION_INTERNET.pdf","J:\Mes documents\A\NOTE.pdf")
Puis :

Code : Tout sélectionner

anx(0) = ConvertToUrl("W:\A\BORDEREAU3.pdf")
Cela expliquerait le message d'erreur :
kooper a écrit :Quand je veux exécuter ma macro je reçois le message MAPI_E_ATTACHEMENT_NOT-FOUND
Le conseil est donc de tester la présence réelle des fichiers via la fonction FileExists.
kooper
Fraîchement OOthentifié
Messages : 7
Inscription : 19 juil. 2019 09:24

Re: [Calc] Pièces jointes EN PDF qui ne s'attachent plus

Message par kooper »

Dude a écrit : Le conseil est donc de tester la présence réelle des fichiers via la fonction FileExists.
Bonjour Ami Dude,
Je ne sais pas utiliser cette fonction.
Pour ce qui est du reste, le fichier existait bel et bien donc je ne vois pas l'utilité de vérifier qu'il existe...
Pour ce qui concerne les "sensations", ce sera comme pour tout ConvertToUrl il faut créer des "string" autant qu'il y aura des fichiers. Je ne peux dire s'il existe un moyen de faire plus court. Mais ça sera pour la prochaine fois.

Un grand merci à tous...
le plus difficile c'est de commencer. Travail sur LibreOffice 6.1, environnement WINDOWS 10
kooper
Fraîchement OOthentifié
Messages : 7
Inscription : 19 juil. 2019 09:24

Re: [Calc] Pièces jointes EN PDF qui ne s'attachent plus

Message par kooper »

Dude a écrit :Cela expliquerait le message d'erreur :
kooper a écrit :Quand je veux exécuter ma macro je reçois le message MAPI_E_ATTACHEMENT_NOT-FOUND
Oui il a changé mais c'est parce que j'ai essayé pleins de choses parce que je ne comprenais pourquoi cela bloquait. Ne te fies pas à ce changement d'adresse.

Now, it's the end...
le plus difficile c'est de commencer. Travail sur LibreOffice 6.1, environnement WINDOWS 10
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25175
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Pièces jointes EN PDF qui ne s'attachent plus

Message par Dude »

kooper a écrit :Je ne sais pas utiliser cette fonction.
Image
kooper a écrit :Oui il a changé mais c'est parce que j'ai essayé pleins de choses parce que je ne comprenais pourquoi cela bloquait. Ne te fies pas à ce changement d'adresse.
Sur ce forum, nous n'avons pas de boule de cristal. Donc, on ne peut que se fier qu'aux informations que tu donnes.
kooper a écrit :Pour ce qui est du reste, le fichier existait bel et bien donc je ne vois pas l'utilité de vérifier qu'il existe
En programmation, coder en dur ce genre d'information est le meilleur moyen de se planter.
Un chemin de fichier doit donc toujours être vérifié à chacun des niveaux suivants :
  1. de l'emplacement avec FileExists
  2. de la syntaxe avec ConvertToUrl
  3. des droits d'accès avec FileAttrib
  4. de la taille avec FileLen