[Résolu] [Calc] Equivalence de la fonction Sendmail

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 !
clarkgaybeul
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 27 mars 2008 07:03

[Résolu] [Calc] Equivalence de la fonction Sendmail

Message par clarkgaybeul »

Bonjour,

J'avais créé dans Excel une macro assignée à un bouton qui permettait d'envoyer le classeur par mail à un expéditeur figé en utilisant ActiveWorkbook.Sendmail(adresse d'envoi, sujet).

Je n'ai pas réussi à trouver d'équivalent pour Calc. Cela existe-t-il ?

Merci d'avance.
Dernière modification par clarkgaybeul le 31 mars 2008 12:36, modifié 1 fois.
Open Office 3.2.1 sous Windows XP SP2
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12838
Inscription : 08 nov. 2005 16:23
Localisation : Brest, France

Message par Bidouille »

Bonjour,

Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide.

Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche.

Lisez ce fil pour savoir quelle balise utiliser :
http://user.services.openoffice.org/fr/ ... html#27295

N'oubliez pas que le terme "Macro" ou "OpenOffice" ne doit pas être employé car il est implicite. Essayer de synthétiser au mieux ce que vous cherchez à faire.

Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.

Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même sous peine de voir votre sujet verrouillé.

Merci de votre collaboration.
clarkgaybeul
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 27 mars 2008 07:03

Message par clarkgaybeul »

Oups

Mes plus plates excuses.
Open Office 3.2.1 sous Windows XP SP2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Message par Dude »

mail est un terme anglais. :x

Si je fais une recherche sur "courriel", je trouve :
http://user.services.openoffice.org/fr/ ... rriel.html

Bonne lecture
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Message par Pierre-Yves Samyn »

Bonjour et bienvenue sur ce forum

La section macro contient déjà quelques exemples que l'on peut trouver avec la fonction Recherche.

D'autres exemples :

http://user.services.openoffice.org/fr/ ... -mail.html
http://user.services.openoffice.org/fr/ ... -mail.html
clarkgaybeul
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 27 mars 2008 07:03

Message par clarkgaybeul »

Merci,

J4avais effectivement effectué une recherche sur "Sendmail" et "envoi mail" qui n'avaient rien donné.

Je vais lire attentivement les réponses proposées.
Open Office 3.2.1 sous Windows XP SP2
clarkgaybeul
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 27 mars 2008 07:03

Message par clarkgaybeul »

Bonjour,

J'ai essayé de m'inspirer des exemples proposés mais je bute toujours au même endroit : je crée bien un mail avec le bon destinataire, le bon sujet et la pièce jointe nécessaire mais je n'arrive pas à envoyer automatiquement le mail. Je reste bloqué sur le client de messagerie par défaut de la machine et il me faut faire l'envoi à la main. Y-a-t-il une solution pour que le mail parte tout seul de manière transparente pour l'utilisateur ?
Open Office 3.2.1 sous Windows XP SP2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Message par Dude »

Mme Irma est encore au ski. En son absence, poste du code et donne nous le client de messagerie.

:?
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
clarkgaybeul
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 27 mars 2008 07:03

Message par clarkgaybeul »

Bonjour,

Voilà le bout de code en question :


Sub envoimail()

sTmpUrl = "$(temp)/doc.ods"
oPathSubstitution = createUnoService( "com.sun.star.util.PathSubstitution" )
sUrl = oPathSubstitution.substituteVariables(sTmpUrl, true)
sUrl = convertToUrl(sUrl)

Dim noArgs() As new com.sun.star.beans.PropertyValue
oDoc.storeToUrl(sUrl, noArgs)

oMailer = createUnoService( "com.sun.star.system.SimpleSystemMail" )
If( isNull( oMailer ) ) Then
oMailer = createUnoService( "com.sun.star.system.SimpleCommandMail" )
End If
oMailClient = oMailer.querySimpleMailClient( )
oMessage = oMailClient.createSimpleMailMessage( )
With oMessage
.setRecipient( "toto@toto.fr" )
.setSubject( "envoi pièce jointe" )
.setAttachement( array( sUrl ) )
End With
End Sub

Concernant le client de messagerie, il faut que cela puisse fonctionner avec Thunderbird, Outlook ou OutlookExpress. Les tests réalisés avec Thunderbird ou Outlook donnent les mêmes résultats : le mail ne part pas tout seul.
Open Office 3.2.1 sous Windows XP SP2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Message par Dude »

Si tu pouvais encadrer ton code avec les balises éponymes, ça faciliterait la lecture.
clarkgaybeul a écrit :le mail ne part pas tout seul.
C'est un peu normal, tu passes en tableau une chaîne de caractères. :shock:

Voici un exemple pour envoyer le document courant :

Code : Tout sélectionner

Sub Main
	Dim pj(0) ' Un seul fichier à envoyer
	
	oClient = createUnoService("com.sun.star.system.SimpleSystemMail")
	mel = oClient.querySimpleMailClient()   
	contenu = mel.createsimplemailmessage()
	contenu.setrecipient("oooforum@free.fr")
	contenu.setsubject("Ceci est un test")
	pj(0) = ConvertFromURL(ThisComponent.getURL())
	contenu.setAttachement(pj())   
	mel.sendSimpleMailMessage(contenu,1)
End Sub
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
clarkgaybeul
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 27 mars 2008 07:03

Message par clarkgaybeul »

Merci beaucoup.

Les premiers tests avec Outlook semblent fonctionner. A vérifier avec les autres clients de messagerie.

Le post peut donc être marqué comme résolu.
Open Office 3.2.1 sous Windows XP SP2
free33810
Fraîchement OOthentifié
Messages : 6
Inscription : 29 sept. 2008 13:19

Re: [Résolu] [Calc] Equivalence de la fonction Sendmail

Message par free33810 »

Bonjour à toutes et à tous,

Je ne cherche pas à faire remonter ce sujet. Ce post n'est qu'un remerciement pour m'avoir permis de résoudre (professionnellement) un problème auquel j'étais confronté.

Il ne suffit pas de demander une solution à notre problème, il faut aussi savoir remercier lorsque cette solution est "apportée sur un plateau".
Merci donc à Dude.
OpenOffice 3.2 et LibreOffice 3.3 sous Windows XP SP3