🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Mailversand mit zwei Anhängen

Alles zur Programmierung im LibreOffice.
Antworten
cynep8
Beiträge: 26
Registriert: Mi 15. Mär 2017, 21:06

Mailversand mit zwei Anhängen

Beitrag von cynep8 » So 11. Okt 2020, 14:06

Hallo liebes Forum,
vor ein paar Jahren hatten mir ein paar Forumsmitglieder ein tolles Makros zusammen gebastelt welches mir erlaubte ein PDF aus dem Calc Dokument zu erstellen und dieses dann direkt als Email mit allem drum und dran zu versenden.
Nun möchte ich gerne ein weiteres PDF hinzufügen welches immer mit gesendet werden soll.
Den ersten Pfad Namen mit einen Semikolon oder Komma und dem zweiten Pfad dran zu hängen hat nicht funktioniert (file:///c:/....1.pdf; file:///c:/....2.pdf).

Hoffe mir kann jemand helfen.


Hier der Mailversand Code

Code: Alles auswählen

Sub SendMail 'this is solution for button
doc = thisComponent
list = doc.getCurrentController.getActiveSheet
mailadress = list.GetCellRangeByName("B8").string
subject = list.GetCellRangeByName("A23").string
bodytext = list.GetCellRangeByName("A24").string
attachmentlink = list.GetCellRangeByName("G7").string

Mailer (mailadress, subject, bodytext, attachmentlink)

end sub

Sub HyperSendMail (sURL$) 'this is solution for function HYPERLINK in the sheet 
mailadress = getArgumentFromURL(sURL,"MailAddress")
subject = getArgumentFromURL(sURL, "Subject")
bodytext = getArgumentFromURL(sURL, "Body")
attachmentlink = getArgumentFromURL(sURL, "Attach")

Mailer (mailadress, subject, bodytext, attachmentlink)

End Sub


Sub Mailer (eMailAddress as String, eSubject as String, eBody as String, Attachment as String)

Dim eMailer as Object
Dim eMailClient as Object
Dim eMessage as Object
Dim nFlag as integer

   
   nFlag = 0
   eMailer = createUnoService( "com.sun.star.system.SimpleSystemMail" )
        
      eMailClient = eMailer.querySimpleMailClient()     
      eMessage = eMailClient.createSimpleMailMessage()
     
      eMessage.setRecipient(eMailAddress)
      eMessage.setSubject(eSubject)

      if Attachment <> "" Then  
         eAttachmentURL = convertToUrl(Attachment)
         eMessage.setAttachement (Array(eAttachmentURL))
      end if   
      
      eBody = Replace(eBody,"*",chr(10))

      eMessage.body = eBody
      
   eMailClient.sendSimpleMailMessage( eMessage, nFlag)

End Sub

Wanderer
* LO-Experte *
Beiträge: 909
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Mailversand mit zwei Anhängen

Beitrag von Wanderer » Mi 14. Okt 2020, 20:01

Hallo

bin gerade im Urlaub, kann das daher nicht ausprobieren. Aber das Problem liegt darin, das der von dir übergebene String für das Attachment in der SUB-Routine Mailer direkt an ConverttoURL übergeben wird und daraus ein Array mit einem String-Element gemacht wird.

Wie man mehrere Attachments übergibt zeigt
https://forum.openoffice.org/en/forum/v ... 20&t=38757

Mailer muss also so erweitert werden, dass der Attachment-String zuerst an einem eventuellen ; aufgeteilt wird (split) und dann für jeden Teilstring ConverttoURL aufgerufen wird und dies an den Array angehängt wird.

Mfg, Jörn

PS: Damit darf das trennende Zeichen ; nicht nmehr in verwendeten Dateinamen vorkommen.
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

cynep8
Beiträge: 26
Registriert: Mi 15. Mär 2017, 21:06

Re: Mailversand mit zwei Anhängen

Beitrag von cynep8 » Fr 16. Okt 2020, 09:47

Vielen Dank,
für deine Antwort. Ich schau mir es am Wochenende gleich mal an.

cynep8
Beiträge: 26
Registriert: Mi 15. Mär 2017, 21:06

Re: Mailversand mit zwei Anhängen

Beitrag von cynep8 » So 18. Okt 2020, 12:23

Nach etwas rum probieren hat die Einbindung in meinen Code geklappt. :)

Vielen Dank noch mal für den Hinweis.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten