Newsgroup: it.comp.appl.access
Titolo: Invio e-mail con Lotus Notes.

Ciao. Siccome avevo chiesto aiuto sull'argomento e, cercando, cercando ho
trovato anche un aiuto nei NG microsoft volevo rendere partecipe chi ne
necessita, come era per me del codice utilizzato (ognuno poi lo può
adattare).
******************************************************
CODICE ORIGINALE (da mettere in un nuovo modulo)
******************************************************
Private Declare Function apiFindWindow Lib "user32" Alias "FindWindowA"
(ByVal strClass As String, ByVal lpWindow As String) As Long
Private Declare Function apiSendMessage Lib "user32" Alias "SendMessageA"
(ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, lParam As
Long) As Long
Private Declare Function apiSetForegroundWindow Lib "user32" Alias
"SetForegroundWindow" (ByVal hwnd As Long) As Long
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow"
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function apiIsIconic Lib "user32" Alias "IsIconic" (ByVal
hwnd As Long) As Long
Function SendNotesMail(strTo As String, strSubject As String, strBody As
String, strFilename As String, ParamArray strFiles())
    Dim doc As Object   'Lotus NOtes Document
    Dim rtitem As Object '
    Dim Body2 As Object
    Dim ws As Object    'Lotus Notes Workspace
    Dim oSess As Object 'Lotus Notes Session
    Dim oDB As Object   'Lotus Notes Database
    Dim x As Integer    'Counter use on error resume next so that the user
never will get an error only the dialog "You have new mail" Lotus Notes
can stop this macro
Do While fIsAppRunning = False
    MsgBox "Lotus Notes is not running" & Chr$(10) & "Make sure Lotus
Notes is running and press OK."
Loop
On Error Resume Next
 
    Set oSess = CreateObject("Notes.NotesSession") 'access the logged on
users mailbox
    Set oDB = oSess.GetDatabase("", "")
    Call oDB.OPENMAIL 'create a new document as add text
    Set doc = oDB.CreateDocument
    Set rtitem = doc.CreateRichTextItem("Body")
    doc.sendto = strTo
    doc.Subject = strSubject
    doc.body = strBody & vbCrLf & vbCrLf 'attach files
    If strFilename <> "" Then
        Set Body2 = rtitem.EmbedObject(1454, "", strFilename)
        If UBound(strFiles) > -1 Then
            For x = 0 To UBound(strFiles)
                Set Body2 = rtitem.EmbedObject(1454, "", strFiles(x))
            Next x
        End If
    End If
    doc.Send False
End Function
Private Function fIsAppRunning() As Boolean
'Looks to see if Lotus Notes is open
'Adapted from code by Dev Ashish
    Dim lngH As Long
    Dim lngX As Long, lngTmp As Long
    Const WM_USER = 1024
    On Local Error GoTo fIsAppRunning_Err
    fIsAppRunning = False
 
        lngH = apiFindWindow("NOTES", vbNullString)
    If lngH <> 0 Then
        apiSendMessage lngH, WM_USER + 18, 0, 0
        lngX = apiIsIconic(lngH)
        If lngX <> 0 Then
            lngTmp = apiShowWindow(lngH, 1)
        End If
        fIsAppRunning = True
    End If
fIsAppRunning_Exit:
    Exit Function
fIsAppRunning_Err:
    fIsAppRunning = False
    Resume fIsAppRunning_Exit
End Function
******************************************************
******************************************************
CODICE DA METTERE IN UNA ROUTINE (associata ad un tasto, ad esempio)
******************************************************
Dim strTo As String         'The sendee(s) Needs to be fully qualified
address. Other names seperated by commas
Dim strSubject As String    'The subject of the mail. Can be "" if no
Subject needed
Dim strBody As String       'The main body text of the message. Use "" if
no text is to be included.
Dim FirstFile As String     'If you are embedding files then this is the
first one. Use "" if no files are to be sent
Dim SecondFile As String    'Add as many extra files as is needed,
seperated by commas.
Dim ThirdFile As String     'And so on.
strTo = "
pi...@pluto.it
"
strSubject = "Prova trasmissione messaggio"
strBody = "Questo è un messaggio di prova."
strBody = strBody & vbCrLf & "Just add new lines by concatenating vbCrLf
"""
FirstFile = "C:\Documenti\1.jpg"
SecondFile = "C:\Documenti\2.jpg"
ThirdFile = "C:\Documenti\3.jpg"
SendNotesMail strTo, strSubject, strBody, FirstFile, SecondFile, ThirdFile
******************************************************
Io, che uso Notes, ho notato che funziona tranen che per un paio di cose
sulle quali chiedo aiuto:
1. il processo è del tutto trasparente e non posso, quindi, modificare in
alcun modo l'e-mail prima che venga inviata;
2. non mi rimane traccia della spedizione nei documenti inviati (a questo
potrei ovviare mandando il messaggio anche a me).
Qualche suggerimento?
Grazie,
TANNHAUSER
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 potrei ovviare mandando il messaggio anche a me).
Il problema potrebbe essere che non aprendo il file di posta giusto, non ne
trovi traccia.
Hai provato il codice che ti ho mandato ?
Ciao
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Ciao
Devo essere sincero sino in fondo con te; non ho esaminato proprio
attentamente il codice ma...funzionava e mi sono accontentato.
Ho provato anche il tuo (vedi mia risposta al tuo 3D) ma, anche in quel
caso, non c'è copia di quanto spedito.
Fammi sapere cosa ne pensi,
