Newsgroup: it.comp.lang.visual-basic
Titolo: ..... Vediamo se questa volta ...

Sto impazzendo da qualche settimana ma.......
Questa e la terza (e oltre) volta che provo a trovare una soluzione sul news
fino ad ora quelle esaminate non mi hanno portato a nulla (forse anche per
mia incompetenza)
cerco di spedire un file per mail da vb aprendo il programma di mail di
default ;
riesco a far partire il programma e a passargli indirizzo, oggetto e
messaggio ma non un file in attachment. (non mi interessa far spedire la
mail a vb deve essere il programma di default a farlo in pratica vb deve
aprire il programma con il file gia allegato)
Fuducioso nelle capacita del news ringrazio anticipatamente chiunque mi
risponda.
Di seguito riporto il codice che uso:
*********************************
The ShellExecute API function recognizes email addresses if they are
prefixed by the "mailto:" prefix, and correctly run the default program for
sending email messages (e.g. Outlook). This lets you open a window for
sending an email and automatically fill the address field. Here's a wrapper
routine that encapsulates the low-level details:
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" _
    (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As
String, _
    ByVal lpParameters As String, ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long
' Open the default program for sending email messages
' Returns True if successful, False otherwise
Public Function OpenEmailProgram(ByVal EmailAddress As String) As Boolean
    Dim res As Long
    res = ShellExecute(0&, "open", "mailto:" & EmailAddress, vbNullString, _
        vbNullString, vbNormalFocus)
    OpenEmailProgram = (res > 32)
End Function
You should always check the return value of the function, in case no program
has been registered on the machine:
If Not OpenEmailProgram("
user...@domain.com
") Then
    MsgBox "Unable to run the email program"
End If
UPDATE: It turns out that you can even provided the contents for other mail
fields, by passing additional values on the URL. The following updated
version of the routine above supports a subject, the body of the message and
a CC mail address. All these added arguments are optional:
Sub OpenEmailProgram(sDest As String, Optional sSubject As String, _
    Optional sBody As String, Optional sCC As String)
    ShellExecute 0, vbNullString, "mailto:" & sDest & "?subject=" & sSubject
& _
        "&body=" & sBody & "&CC=" & sCC & "&attachment=c:\autoexec.bat", 0&,
0&, _
        1
End Sub
' how to use:
SendMail "
mbell...@vb2themax.com
", "SendMail Test", "The function
works!!!", _
    "
fba...@vb2themax.com
, 
desp...@vb2themax.com
"

 End Sub
Se guardi, alla fine c'č l'esempio dell'attachment  del file
c:\autoexec.bat.
Nel caso non dovesse funzionare, posta la parte di codice che non va e dģ
l'esatto codice di errore, altrimenti non ti puņ aiutare nessuno. Non
postare la documentazione, ma proprio il tuo codice, tanto poche righe
dovrebbero bastare.
Ciao
*Roby*

....l'oggetto non di default MAPI (disponibile se da Riferimenti abiliti
Microsoft CDO 1.21 Library)  fa gia' tutto quello che chiedi.
E' perfetto.
Sul sito comune c'e' un esempio.
Se ti servono informazioni fammelo sapere
Ciao
Stefano