Mi interesserebbe una cosa semplice tipo il mailto dell'HTML.
Grazie anticipatamente
Roberto
>Successivamente devo prepopolare un messaggio di posta (lettera di
>accompagnamento del modulo) da inviare ad un generico client di posta
>elettronica con alcuni dati del modulo.
>
>Mi interesserebbe una cosa semplice tipo il mailto dell'HTML.
'-----------------------
Sub invia()
Dim URL As String, dest As String, body As String, subj As String
dest = "de...@natar.io"
subj = "Prova"
body = "riga 1" & "%0A" & "riga2"
URL = "mailto:" & dest & "?subject=" & subj & "&body=" & body
ActiveDocument.FollowHyperlink URL
End Sub
'-----------------------
--
Tiziano Marmiroli
Microsoft MVP - Office System
http://www.riolab.org
scusate se mi intrometto: non potendo leggere il testo integrale della
domanda di Tiziano Marmiroli non comprendo bene il senso del quesito ma mi
sembra che possa interessare anche me. potete spoegarmi di cosa si tratta? e
quello script (spero si chiami cosě) come va scritto salvato e lanciato?
grazie ciao
antonio
>> '-----------------------
>> Sub invia()
>> Dim URL As String, dest As String, body As String, subj As String
>>
>> dest = "de...@natar.io"
>> subj = "Prova"
>> body = "riga 1" & "%0A" & "riga2"
>> URL = "mailto:" & dest & "?subject=" & subj & "&body=" & body
>> ActiveDocument.FollowHyperlink URL
>> End Sub
>> '-----------------------
>scusate se mi intrometto: non potendo leggere il testo integrale della
>domanda di Tiziano Marmiroli non comprendo bene il senso del quesito ma mi
>sembra che possa interessare anche me. potete spoegarmi di cosa si tratta? e
>quello script (spero si chiami così) come va scritto salvato e lanciato?
Menu Strumenti>Macro>Visual basic editor
Menu Inserisci>Modulo
Incollaci quelle righe di codice
Torna a Word e dal menu Strumenti>Macro>Macro lancia la macro "invia".
Tale macro aprirá il programma di posta predefinito con un nuovo
messaggio preimpostato.
> Il Tue, 21 Apr 2009 04:07:03 -0700, Roberto Rossi ha scritto:
>
> >Successivamente devo prepopolare un messaggio di posta (lettera di
> >accompagnamento del modulo) da inviare ad un generico client di posta
> >elettronica con alcuni dati del modulo.
> >
> >Mi interesserebbe una cosa semplice tipo il mailto dell'HTML.
>
> '-----------------------
> Sub invia()
> Dim URL As String, dest As String, body As String, subj As String
>
> dest = "de...@natar.io"
> subj = "Prova"
> body = "riga 1" & "%0A" & "riga2"
> URL = "mailto:" & dest & "?subject=" & subj & "&body=" & body
> ActiveDocument.FollowHyperlink URL
> End Sub
> '-----------------------
volendo aggiungere cc e bcc e avere una
funzione un po' più generica:
Function Url_MailTo( _
Optional dest As String = " ", _
Optional sCC As String = " ", _
Optional sBCC As String = " ", _
Optional subj As String = " ", _
Optional body As String = " ") As String
Dim URL As String
'NOTE per il passaggio degli argomenti
'per aggiungere un destinatario
'bisogna separarli con una virgola
'o un punto e virgola
'"de...@natar.io,de2...@natar.io"
'per andare a capo nell'oggetto del messaggio
'"riga 1" & "%0A" & "riga2"
'l'ordine deve essere:
'mailto:
'dest
'cc
'bcc
'subject
'body
Url_MailTo = _
"mailto:" & dest & _
"?" & _
"cc=" & sCC & _
"&bcc=" & sBCC & _
"&subject=" & subj & _
"&body=" & body
End Function
Sub test()
ActiveDocument.FollowHyperlink Url_MailTo("de...@natar.io,de2...@natar.io", _
"deCC...@natar.io", , "prova", "riga 1" & "%0A" & "riga2")
End Sub
saluti
r
--
-------------------------------------------------------------------------------------
http://excelvba.altervista.org/blog/index.php/Table/Excel-VBA/
"r" ha scritto:
>Visto che nel testo della mail (body) e' possibile inserire codici
>perticolari come il %0A per andare a capo, esistono codici analoghi per il
>grassetto (tipo i tag html <b> e </b>), il corsivo e la sottolineatura?
No, perché il TESTO di una mail non ha formattazioni, perché questo va
oltre lo scopo dell'url MAILTO, e per altri motivi ancora.
Una descrizione della sintassi e degli scopi dell'url MAILTO la trovi qui:
>http://www.faqs.org/rfcs/rfc2368.html
Per inviare un documento formattato, devi scegliere un qualche formato che
consenta di definire delle formattazioni (html, pdf, Word o altro),
scrivere un documento completo in quel formato, e allegarlo alla mail come
sezione MIME.
Sono operazioni complesse, che non ha senso compiere con un MAILTO, posto
che fosse anche teoricamente possibile. Conviene, piuttosto, appoggiarsi a
qualche strumento esterno (le api di Outlook o altro) che consenta di
comporre e spedire un messaggio completo.
Ciao.
> Sono operazioni complesse, che non ha senso compiere con un MAILTO, posto
> che fosse anche teoricamente possibile. Conviene, piuttosto, appoggiarsi a
> qualche strumento esterno (le api di Outlook o altro) che consenta di
> comporre e spedire un messaggio completo.
sono daccordo ... poi ... il suo primo intervento lasciava immaginare che
già utilizzasse le librerie di Outlook ... diceva:
"ho l'esigenza di automatizzare la compilazione di un modulo da macro,
stamparlo in PDF ed inviarlo per mail (e questo l'ho già fatto)"
magari se spiegasse come l'ha già fatto si potrebbe suggerire delle
alternative.
Io sto cercando di inviare una mail attraverso word, appoggiandomi
direttamente a SMTP. Mi connetto al server attraverso la chiamata shell
"telnet <indirizzo server smtp> <numero porta>" poi invio i comandi del
server attraverso l'istruzione sendkeys, ma la funzione non gira
correttamente perchè non invia tutti i caratteri, probabilmente perchè nel
frattempo il command perde il focus.... come posso migliarare la funzione?
Grazie a tutti.
--
***************************
Ricky
Analista Programmatore
Software Projects
http://www.softwareprojects.it
>Scusate se intervengo per chiedere maggiori informazioni.
>Visto che hai generalizzato attraverso l'utilizzo di una funzione generica,
>si potrebbe pernsare di generalizzare maggiormente comandando l'invio della
>mail tramite server smtp e non utilizzando le classi di outlook che alcuni
>otenti potrebbero non avere installato?
Si potrebbero pensare tante cose, ma quello che hai a disposizione lo
sai tu, quindi non ha molto senso parlare in astratto.
>Io sto cercando di inviare una mail attraverso word, appoggiandomi
>direttamente a SMTP. Mi connetto al server attraverso la chiamata shell
>"telnet <indirizzo server smtp> <numero porta>" poi invio i comandi del
>server attraverso l'istruzione sendkeys
Mi sembra che sia una strada infinita, posto anche che sia
percorribile (e la vedo molto problematica: d'accordo il sendkeys, ma
come leggi la risposta del server? a meno che tu voglia spammare, e
allora magari ti va anche bene di spedire al buio, è essenziale poter
anche leggere, e con una chiamata alla shell mi sembra piuttosto
problematico).
È preferibile appoggiarsi a qualche libreria o qualche altro
strumento; Outlook era solo un esempio perché, al contrario, penso che
molti potrebbero averlo installato, ma in realtà c'è solo l'imbarazzo
della scelta: di strumenti per spedire posta ce ne sono tanti.
Ciao.