Newsgroup: it.comp.lang.visual-basic
Titolo: Invio mail

Ho bisogno di mandare una mail con Outlook, o meglio, precompilare il tutto e poi lasciare l'invio o meno 
all'utilizzatore. Per questo vorrei presentargli una mail con il cursore alla fine del testo e non all'inizio. Come 
fare?
 
Questo il codice usato:
mail = "mailto: 
mi...@gmail.com
"
sog = " ?subject=Invio Mail di prova "
bod = "&body=Buongiorno, le scrivo per ..."
s = ShellExecute(0&, vbNullString, mail & sog & bod, vbNullString, "C:\", SW_SHOWNORMAL)
 
-- 
Greg

 fare?
 
E' tutto molto artigianale, ma *potrebbe* (non ho provato, no VB6 qui) funzionare usando una variante diversa di ShellExecute, che ti da qualche handle in più su cui puoi lavorare... esempio: 
https://pastebin.com/bWmgwQiZ
 

Greg ha scritto:

Usa l'automazione. Crea un nuovo progetto VB, imposta un riferimento
a "Microsoft Outlook XX.0 Object Library" (XX dipende da che Outlook
hai, ma non preoccuparti: il riferimento è comunque alla MSOUTL.OLB)
poi in un pulsante incolla questo codice:
 
'**********************
Private Sub Command1_Click()
  Dim objOutlook As Outlook.Application
  Set objOutlook = New Outlook.Application
 
   Dim objMailItem As Outlook.MailItem
   With objOutlook
    Set objMailItem = .CreateItem(olMailItem)
     With objMailItem
      .Subject = "Soggettone"
      .Body = "Corpo della mail. Puoi andare a capo con '& vbNewLine'"
      .Recipients.Add "
indi...@serverposta.it
"
      .Save
     End With
   End With
End Sub
'**********************
 
Il .Save salva la mail in bozza senza inviarla, e l'utente
può scegliere cosa fare.
 
Bye, G.

Greg ha usato la sua tastiera per scrivere :

sendkeys "^{END}"
 
ma DEVI aspettare a dare il comando dopo che la finestra del client
si sia aperta e che sia in primo piano o la combinazione di tasi la
prenderà la finestra attiva, in breve LASCIA PERDERE che e' un
trojajo e accontentati del cursore nel "posto sbagliato", io c'ho
bestemmiato non poco ai tempi, alla fine c'ho rinunciato, azzeccare
il tempo di apertura sperando che l'utonto non "rubi" il focus
cliccando altrove e' una battaglia persa.

 Bye, G.
 
Grazie Paperino,
sto provando questa soluzione ma otengo un "errore definito dall'applciazione" sulla riga .Recipients.Add 
"
pr...@tin.it
"
 
Cosa può essere?
 
-- 
Greg

 "
pr...@tin.it
"
 
Altri indizi? Un codice di errore, qualcosa...?
Se provi a immettere gli stessi dati direttamente da Outlook
che succede?
 
Capirai che debuggare da qua a naso non è esattamente semplice :-/
 
Bye, G.

 che succede?
 
E' un errore di run-time di cui non non ricordo il numero, poi ovviamente va in crash.
Adesso non ho più Outlook fino a lunedi non posso vedere il numero, ma ho fatto oggi qualche ricerca per quel codice 
senza trovare qualcosa di utile, è molto generico
 
Buon we
 
-- 
Greg

 Buon we
 
Altrettanto :-)
 
Bye, G.

 Se non va, bisogna
 
[CUT]
 
Bye, G.
 

 neanche nel codice, ma dipende da troppe cose.
 
E invece va benissimo :) Grazie
 
Visto che conosci cosi bene Outlook, ti chiedo qualche info. Lo sto spulciando col visualizzatore oggetti (è una cosa 
vastissima forse piu di excel) per cercare le opzioni di Conferma Consegna, Conferma Lettura e Priorità Alta.
Ho trovato le prime due che dovrebbero essere VotingOption o VotingResponse ma non riesco a farle funzionare. Sulla 
Priority alta non ho ancora trovato nulla ma ci deve essere per cui cerco ancora
 
-- 
Greg

 Priority alta non ho ancora trovato nulla ma ci deve essere per cui cerco ancora
 
Ora sono (non per me...) in una sala d'attesa d'ospedale e col cell
non posso fare più di tanto,  ma al posto tuo darei un'occhiata
a .ReadReceiptRequested e .OriginatorDeliveryReportRequested.
 
Per la priorità la proprietà giusta dovrebbe essere .Importance.
 
Altri riferimenti:
https://msdn.microsoft.com/en-us/library/microsoft.office.interop
.
outlook.mailitem_properties.aspx
(ti tocca riattaccare il link, temo).
 
Bye, G.

 (ti tocca riattaccare il link, temo).
 
Questo l'avevo trovato, ma ad una lettura veloce, la lista è lunga, a causa del mio inglese mi era sfuggito il 
significato.
 
Come sempre preziono e disponibile, ti devo un altro caffè. Grazie :)
 
-- 
Greg