BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Email Versand Macro
-
- Beiträge: 9
- Registriert: So 27. Okt 2019, 11:47
Email Versand Macro
Hallo zusammen,
bin ein erfolgloser Anfänger, habt Geduld mit mir . Ich möchte ein Tabellenblatt, per Schaltfläche / Macro, als Email versenden.
Habe hierzu ein Macro im Netz gefunden, leider funktioniert es nicht ganz wie gewünscht.
Es funktioniert: Klick auf die Schaltfläche, das PDF Export Fenster öffnet sich. Ich bestätige mit senden. Das Email Programm (Thunderbird) öffnet eine neue Email. Das PDF ist angehängt, mit dem Namen der ODF Datei. Im Betreff steht ebenfalls der Name der ODF Datei. So weit so gut.
Was nicht funktioniert: Ich habe zwei Emailadressen in Thunderbird hinterlegt. Es wird die Falsche Sende Mailadresse verwendet. Ich würde gerne die korrekte Adresse in einer Zelle hinterlegen, steht in F53.
Es wird keine Empfänger Adresse eingetragen. Diese Adresse steht in I19
Zudem möchte ich einen Mailtext einer Zelle hinterlegen und diesen Text automatisch in die Mail übernehmen, wenn sowas überhaupt möglich ist.
Leider bricht das Macro mit einer Fehlermeldung ab:
BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.container.NoSuchElementException
Message: .
Freue mich über jede Hilfe, vielen lieben Dank.
Gruß
Peter
REM ***** BASIC *****
sub mail
REM Opens the PDF Export Options dialog.
REM Example Call: Send_As_PDF( "myemail@mydomain.com" )
REM Can be called without argument, then the ? Default Recipient ? will be used.
If IsMissing( strRecipient ) Then strRecipient = "I19" REM Default Recipient.
Dim oFrame As Object, oDispatch As Object
Dim aProps(0) As New com.sun.star.beans.PropertyValue
aProps(0).Name = "Recipient"
aProps(0).Value = strRecipient
oFrame = ThisComponent.CurrentController.Frame
oDispatch = createUnoService( "com.sun.star.frame.DispatchHelper" )
oDispatch.executeDispatch( oFrame, ".uno:SendMailDocAsPDF", "", 0, aProps() )
oDoc=Thiscomponent
oTab=oDoc.Sheets.getByName("der Tabellenname")
oZelle=oTab.getCellRangeByName("F53")
empfaenger=oZelle.string
End Sub
Nachtrag:
Es scheint wohl hier ein Problem zu geben.
oTab=oDoc.Sheets.getByName("der Tabellenname")
Den Tabellenname kann ich aber nicht FEST eingeben, da sich der Name der Dokuments ständig ändert.
Bin Planlos...
Nachtrag 2:
oTab=oDoc.Sheets.getByName("der Tabellenname")
Hier muss der Name vom Tabellen- Blatt eingetragen werden. Habe nun keine Fehlermeldung mehr.
Die Empfänger Email in F53 wird dennoch nicht eingetragen....
oZelle=oTab.getCellRangeByName("F53")
empfaenger=oZelle.string
bin ein erfolgloser Anfänger, habt Geduld mit mir . Ich möchte ein Tabellenblatt, per Schaltfläche / Macro, als Email versenden.
Habe hierzu ein Macro im Netz gefunden, leider funktioniert es nicht ganz wie gewünscht.
Es funktioniert: Klick auf die Schaltfläche, das PDF Export Fenster öffnet sich. Ich bestätige mit senden. Das Email Programm (Thunderbird) öffnet eine neue Email. Das PDF ist angehängt, mit dem Namen der ODF Datei. Im Betreff steht ebenfalls der Name der ODF Datei. So weit so gut.
Was nicht funktioniert: Ich habe zwei Emailadressen in Thunderbird hinterlegt. Es wird die Falsche Sende Mailadresse verwendet. Ich würde gerne die korrekte Adresse in einer Zelle hinterlegen, steht in F53.
Es wird keine Empfänger Adresse eingetragen. Diese Adresse steht in I19
Zudem möchte ich einen Mailtext einer Zelle hinterlegen und diesen Text automatisch in die Mail übernehmen, wenn sowas überhaupt möglich ist.
Leider bricht das Macro mit einer Fehlermeldung ab:
BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.container.NoSuchElementException
Message: .
Freue mich über jede Hilfe, vielen lieben Dank.
Gruß
Peter
REM ***** BASIC *****
sub mail
REM Opens the PDF Export Options dialog.
REM Example Call: Send_As_PDF( "myemail@mydomain.com" )
REM Can be called without argument, then the ? Default Recipient ? will be used.
If IsMissing( strRecipient ) Then strRecipient = "I19" REM Default Recipient.
Dim oFrame As Object, oDispatch As Object
Dim aProps(0) As New com.sun.star.beans.PropertyValue
aProps(0).Name = "Recipient"
aProps(0).Value = strRecipient
oFrame = ThisComponent.CurrentController.Frame
oDispatch = createUnoService( "com.sun.star.frame.DispatchHelper" )
oDispatch.executeDispatch( oFrame, ".uno:SendMailDocAsPDF", "", 0, aProps() )
oDoc=Thiscomponent
oTab=oDoc.Sheets.getByName("der Tabellenname")
oZelle=oTab.getCellRangeByName("F53")
empfaenger=oZelle.string
End Sub
Nachtrag:
Es scheint wohl hier ein Problem zu geben.
oTab=oDoc.Sheets.getByName("der Tabellenname")
Den Tabellenname kann ich aber nicht FEST eingeben, da sich der Name der Dokuments ständig ändert.
Bin Planlos...
Nachtrag 2:
oTab=oDoc.Sheets.getByName("der Tabellenname")
Hier muss der Name vom Tabellen- Blatt eingetragen werden. Habe nun keine Fehlermeldung mehr.
Die Empfänger Email in F53 wird dennoch nicht eingetragen....
oZelle=oTab.getCellRangeByName("F53")
empfaenger=oZelle.string
-
- Beiträge: 9
- Registriert: So 27. Okt 2019, 11:47
Re: Email Versand Macro
1 Problem weniger: Was nicht funktioniert: Ich habe zwei Emailadressen in Thunderbird hinterlegt. Es wird die Falsche Sende Mailadresse verwendet. Man muss eine Adresse in Thunderbird als Standart auswählen.
-
- Beiträge: 2674
- Registriert: Mo 12. Nov 2012, 16:59
Re: Email Versand Macro
Standard Oil Company, Standardisierung. Hat nichts mit "stand art" zu tun.
LO 7.5.8.2 (X86_64) / AOO 4.1.14 / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: Email Versand Macro
Code: Alles auswählen
-compose ... from='sende@mail.adresse' ...
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
-
- Beiträge: 9
- Registriert: So 27. Okt 2019, 11:47
Re: Email Versand Macro
Danke. Problem gelößt. So Funktioniert es:
Sub SendMail 'this is solution for button
doc = thisComponent
list = doc.getCurrentController.getActiveSheet
mailadress = list.GetCellRangeByName("I19").string
subject = list.GetCellRangeByName("D53").string
bodytext = list.GetCellRangeByName("B53").string
attachmentlink = list.GetCellRangeByName("G53").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
Sub SendMail 'this is solution for button
doc = thisComponent
list = doc.getCurrentController.getActiveSheet
mailadress = list.GetCellRangeByName("I19").string
subject = list.GetCellRangeByName("D53").string
bodytext = list.GetCellRangeByName("B53").string
attachmentlink = list.GetCellRangeByName("G53").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
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️