i |
[macro] Exporter un formulaire en format PDF et l'envoyer par mail |
Utilisation d'une macro qui va rechercher le nom à donner au pdf dans la propriété "Complément d'information" du bouton. Si on n'y met rien le pdf sera nommé SansNom.pdf
Le pdf est créé dans le même dossier que la base. Le programme initialise le destinataire avec "nom.prenom@truc.fr" Il suffit de remplacer par ce qu'on veut, ou rien si on désire le
compléter avant l'envoi.
Idem pour le sujet : "sujet du message"
exemple : EnvoiMail.odb
La macro :
option explicit
Sub SendMailPdf(oEvent)
dim sDir As String, sFileName As String, sUrl as string
dim Prop(0) As New com.sun.star.beans.PropertyValue
dim oMailAgent As Object, oMailClient As Object, oMailMessage As Object
If (Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools")) Then
GlobalScope.BasicLibraries.LoadLibrary("Tools")
End If
sDir = DirectoryNameoutofPath(ThisDatabaseDocument.Url, "/")
if oEvent.source.model.Tag <> "" then
sFileName = oEvent.source.model.Tag
else
sFileName = "SansNom.pdf"
end if
sUrl = sDir & "/" & sFileName
Prop(0).Name = "FilterName"
Prop(0).Value = "writer_pdf_Export"
thiscomponent.storeToURL(sUrl, Prop())
If GetGUIType=1 Then
oMailAgent=CreateUnoService("com.sun.star.system.SimpleSystemMail")
Else
oMailAgent=CreateUnoService("com.sun.star.system.SimpleCommandMail")
End If
oMailClient = oMailAgent.querySimpleMailClient()
oMailMessage = oMailClient.createSimpleMailMessage()
oMailMessage.setRecipient("nom.prenom@truc.fr")
oMailMessage.setSubject("sujet du message")
oMailMessage.setAttachement(Array(sUrl))
oMailClient.sendSimpleMailMessage(oMailMessage, com.sun.star.system.SimpleMailClientFlags.DEFAULTS)
'oMailClient.sendSimpleMailMessage(oMailMessage, com.sun.star.system.SimpleMailClientFlags.NO_USER_INTERFACE)
End Sub