Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

decidere quale client posta far partire con SendObject

296 views
Skip to first unread message

mario rossi

unread,
Apr 12, 2022, 7:31:08 PM4/12/22
to
DoCmd.SendObject acSendReport, "fattura", "PDFFormat(*.pdf)", Me.Email, , , oggetto, testo, True

ho installato thunderbird ma pur avendolo impostato come client di default apparentemente ovunque in windows 10 non c'è modo di avviarlo automaticamente, parte sempre windows live mail

Qualcuno ha qualche consiglio da darmi?

BFS

unread,
Apr 13, 2022, 2:03:59 AM4/13/22
to
con tb puoi inviare facilmente una mail cosi

Dim percorsoTB As String
Dim thund As String

If Len(Nz(Dir("C:\Program Files (x86)\Mozilla
Thunderbird\thunderbird.exe"), 0)) > 0 Then
percorsoTB = "C:\Program Files (x86)\Mozilla
Thunderbird\thunderbird.exe "
Else
percorsoTB = "C:\Program Files\Mozilla Thunderbird\thunderbird.exe "
End If

thund = percorsoTB & _
"-compose " & """" & _
"to='in...@gmail.com'," & _
"cc='in...@gmail.com'," & _
"bcc='in...@gmail.com'," & _
"subject='bla bla bla'," & _
"attachment='c:\test.pdf'," & _
"body='saluti'" & """"





Call Shell(thund, vbNormalFocus)



BFS




--
Questa email è stata esaminata alla ricerca di virus da AVG.
http://www.avg.com

mario rossi

unread,
Apr 13, 2022, 10:59:22 AM4/13/22
to
una bomba!
L'ho adattato con le mie variabili stringa
grazie.

thund = percorsoTB & _
"-compose " & """" & _
"to='" & dest & "'," & _
"cc='" & destCC & "'," & _
"bcc='" & destCCN & "'," & _
"subject='" & oggetto & "'," & _
"attachment='" & allegato & "'," & _
"body=" & testo

BFS

unread,
Apr 13, 2022, 11:16:31 AM4/13/22
to
bene
qui trovi altri parametri che potrebbero tornare utili, esempio per
multi allegati o per scrivere la mail in html


http://kb.mozillazine.org/Command_line_arguments_-_Thunderbird#Compose_new_mail_with_command_line

BFS

mario rossi

unread,
Apr 14, 2022, 12:29:33 PM4/14/22
to
grazie molte

@Alex

unread,
Apr 15, 2022, 6:59:51 AM4/15/22
to
Si potrebbe usare una cosa simile per trovare il Path, da verificare però, funziona sicuramente con i programmi Installati che vanno nei Registri, ovviamente no per roba Portable:

#If VBA7 Then
Declare PtrSafe Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" _
(ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
#Else
Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" _
(ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
#End If

Const SYS_OUT_OF_MEM As Long = &H0
Const ERROR_FILE_NOT_FOUND As Long = &H2
Const ERROR_PATH_NOT_FOUND As Long = &H3
Const ERROR_BAD_FORMAT As Long = &HB
Const NO_ASSOC_FILE As Long = &H1F
Const MIN_SUCCESS_LNG As Long = &H20
Const MAX_PATH As Long = &H104

Const USR_NULL As String = "NULL"
Const S_DIR As String = "C:\" '// Change as required (drive that .exe will be on)


Function GetInstallDirectory(ByVal usProgName As String) As String

Dim fRetPath As String * MAX_PATH
Dim fRetLng As Long

fRetLng = FindExecutable(usProgName, S_DIR, fRetPath)

If fRetLng >= MIN_SUCCESS_LNG Then
GetInstallDirectory = Left$(Trim$(fRetPath), InStrRev(Trim$(fRetPath), "\"))
'Else
' Select Case fRetLng
' Case ERROR_FILE_NOT_FOUND
' Case ERROR_PATH_NOT_FOUND
' Case NO_ASSOC_FILE
' '.......
' End Select
' Gestione dei codici di errore da valutare...
End If

End Function

@Alex

Simone Calligaris

unread,
Apr 19, 2022, 10:31:24 AM4/19/22
to

> con tb puoi inviare facilmente una mail cosi
>
> Dim percorsoTB As String
> Dim thund As String
>
> If Len(Nz(Dir("C:\Program Files (x86)\Mozilla
> Thunderbird\thunderbird.exe"), 0)) > 0 Then
> percorsoTB = "C:\Program Files (x86)\Mozilla
> Thunderbird\thunderbird.exe "
> Else
> percorsoTB = "C:\Program Files\Mozilla Thunderbird\thunderbird.exe "
> End If
>
> thund = percorsoTB & _
> "-compose " & """" & _
> "to='in...@gmail.com'," & _
> "cc='in...@gmail.com'," & _
> "bcc='in...@gmail.com'," & _
> "subject='bla bla bla'," & _
> "attachment='c:\test.pdf'," & _
> "body='saluti'" & """"
>
>
>
>
>
> Call Shell(thund, vbNormalFocus)


Molto bello.
Uso Mapi con Thunderbird, ma talvolta ho avuto problemi di affidabilità: presumo che questo sistema sia solido oltre che semplice.
Se non ricordo male con Outlook da linea di comando è richiesta all'operatore la pressione del pulsante d'invio.

Saluti

mario rossi

unread,
May 16, 2022, 10:20:37 AM5/16/22
to
Il giorno mercoledì 13 aprile 2022 alle 08:03:59 UTC+2 BFS ha scritto:
Sai se è possibile inviare la mail con thunderbird ma senza aprirla in anteprima? inviandola direttamente?
grazie.

Simone Calligaris

unread,
May 16, 2022, 11:53:02 AM5/16/22
to

> Sai se è possibile inviare la mail con thunderbird ma senza aprirla in anteprima? inviandola direttamente?

Pure io m'ero illuso per una mezz'ora, ma funziona esattamente come con outlook.exe da linea di comando: necessario pulsante invio.

Saluti

BFS

unread,
May 17, 2022, 2:09:22 AM5/17/22
to
personalmente con MAPI mai avuto problemi con TB da windows 7 a windows 11
sia con invio automatico sia con invio con click dell'utente
ovviamente con tb impostato come client predefinito


BFS




mario rossi

unread,
May 18, 2022, 5:18:55 AM5/18/22
to
Scrivi che funziona come outlook ma outlook invia anche senza interazione da parte dell'operatore, forse ti riferisci ad Outlook Express? perchè so per certo che Microsoft Outlook Invia messaggi senza necessità di nessuna iterazione.

Simone Calligaris

unread,
May 18, 2022, 5:47:01 AM5/18/22
to

> > > Sai se è possibile inviare la mail con thunderbird ma senza aprirla in anteprima? inviandola direttamente?

> > Pure io m'ero illuso per una mezz'ora, ma funziona esattamente come con outlook.exe da linea di comando: necessario pulsante invio.

> Scrivi che funziona come outlook ma outlook invia anche senza interazione da parte dell'operatore, forse ti riferisci ad Outlook Express? perchè so per certo che Microsoft Outlook Invia messaggi senza necessità di nessuna iterazione.

>

Considera che normalmente invio mail da outlook utilizzando MAPI oppure automazione OLE, l'utilizzo di Outlook.exe da linea di comando per me risale a molti anni fa.
A quell'epoca (non ricordo fino a quale versione) tale modalità non consentiva la spedizione diretta senza cliccare su "invia".
E' cambiato qualcosa con versioni recenti del prodotto?

Saluti

mario rossi

unread,
May 18, 2022, 6:06:41 AM5/18/22
to
non saprei se è cambiato qualcosa, io uso questo codice con outlook e invia senza necessità di interazione, mi serviva la stessa cosa per thunderbird

Dim OutlookApp As Outlook.Application
Dim MItem As Object
Dim Recipient As String, Subj As String
Dim Msg As String, fname As String

On Error Resume Next
Subj = "Allegato PDF"

Set OutlookApp = New Outlook.Application
Set MItem = OutlookApp.CreateItem(olMailItem)
With MItem
.to = destinatario
'.CC = ""
'.BCC = ""

.Subject = oggetto
.Body = testo
.Attachments.Add allegato
'.SentOnBehalfOfName = "mitt...@pec.it" 'Mittente in caso si voglia modificare tra quelli disponibili in outlook
'.display 'se non commentato la mail si apre in anteprima se commentato la mail viene inviata senza interazione con l'operatore
.Send
End With

Set OutlookApp = Nothing







Simone Calligaris

unread,
May 18, 2022, 7:00:48 AM5/18/22
to

> non saprei se è cambiato qualcosa, io uso questo codice con outlook e invia senza necessità di interazione, mi serviva la stessa cosa per thunderbird

Dim OutlookApp As Outlook.Application
Dim MItem As Object
Dim Recipient As String, Subj As String
Dim Msg As String, fname As String

On Error Resume Next
Subj = "Allegato PDF"

Set OutlookApp = New Outlook.Application
Set MItem = OutlookApp.CreateItem(olMailItem)
With MItem
.to = destinatario
'.CC = ""
'.BCC = ""

(cut)


Certo che funziona, ma si tratta di automazione OLE, io mi riferivo esclusivamente all'utilizzo di thunderbird.exe da linea di comando, ovvero il codice suggerito da BFS.
Se vuoi inviare mail direttamente dal client puoi utilizzare le routine MAPI che già usi per Outlook (comunque le trovi facilmente in rete).

Saluti

Simone Calligaris

unread,
May 18, 2022, 8:55:53 AM5/18/22
to
Errata corrige:

io mi riferivo esclusivamente all'utilizzo di outlook.exe da linea di comando, ovvero la modalità suggerita da BFS.
0 new messages