Ich habe einen Fragebogen erstellt. Nun möchte ich diesen mit Klick auf eine Schaltfläche als Anhang per Mail an eine bestimmte Adresse senden. Kann dieses Formular anschliessend auch als PDF verwendet werden und z.B. auf einer Webseite zur Verfügung gestellt werden?
Das geht per Basic-Makro wenn Thunderbird oder Outlook installiert sind:
sub email_init
select case GetGUIType()
case 4
MailAgent = CreateUnoService("com.sun.star.system.SimpleCommandMail")
case 1
MailAgent = CreateUnoService("com.sun.star.system.SimpleSystemMail")
end select
MailClient = MailAgent.querySimpleMailClient()
MailMessage = MailClient.createSimpleMailMessage()
end sub
sub email_send(sRecipient As String,aCcRecipient() As String, sSubject As String, sBody As String, aAttachmentURL() As String)
DIM b as boolean
select case aConfig(16)
case "Outlook" 'Code von keksi1970, leider Fehlermeldung in domainenumgebung
Dim oOLEService
Dim oOutlookApp
Dim oOutlookMail
oOLEService = createUnoService("com.sun.star.bridge.OleObjectFactory")
oOutlookApp = oOLEService.createInstance("Outlook.Application")
oOutlookMail = oOutlookApp.CreateItem(0)
anzahlfelder = ubound(aAttachmentURL())
For i = 0 to anzahlfelder
if aAttachmentURL(i) <> "" then
oOutlookMail.Attachments.Add(ConvertFromURL(aAttachmentURL(i)))
end if
next
with oOutlookMail
.To = sRecipient
.CC = aCcRecipient(0)
.Subject = sSubject
'.HTMLBody = sBody
.Body = sBody
'.SendUsingAccount = .Session.Accounts.Item(email2)
.SentOnBehalfOfName = email2
.Display()
'.send()
end with
case else
MailMessage.setRecipient(sRecipient)
if aCcRecipient(0) <> "" then MailMessage.setCcRecipient(aCcRecipient())
'MailMessage.setCcRecipient(array(sCcRecipient))
MailMessage.setSubject(sSubject)
MailMessage.Body = sBody
anzahlfelder = ubound(aAttachmentURL())
if NOT IsEmpty(aAttachmentURL()) then 'für fehlenden anhang keine Wertzuweisung
For i = 1 to anzahlfelder 'leere Felder entfernen, sonst Fehler
if aAttachmentURL(i) = "" then
redim preserve aAttachmentURL(i-1)
exit for
end if
next
MailMessage.setAttachement(aAttachmentURL())
end if
MailClient.sendSimpleMailMessage(MailMessage, 0)
end select
end sub
Einige Formular-Funktionen funktionieren auch nach dem Export nach PDF noch. Die Zeitschrift ct vom Heise-Verlag hat vor ein paar Jahren mal einen Artikel dazu geschrieben.