Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.lang.visual-basic > #19201 > unrolled thread
| Started by | Greg <greg@alicie.com> |
|---|---|
| First post | 2017-10-19 22:18 +0200 |
| Last post | 2017-10-20 01:25 +0200 |
| Articles | 12 — 4 participants |
Back to article view | Back to it.comp.lang.visual-basic
Invio mail Greg <greg@alicie.com> - 2017-10-19 22:18 +0200
Re: Invio mail Luca D <antaniserse@yahoo.it> - 2017-10-19 14:12 -0700
Re: Invio mail Paperino <non_te@lo.dico.invalid> - 2017-10-19 23:59 +0200
Re: Invio mail Greg <greg@alicie.com> - 2017-10-20 13:49 +0200
Re: Invio mail Paperino <non_te@lo.dico.invalid> - 2017-10-20 17:21 +0200
Re: Invio mail Greg <greg@alicie.com> - 2017-10-20 17:36 +0200
Re: Invio mail Paperino <non_te@lo.dico.invalid> - 2017-10-20 22:38 +0200
Re: Invio mail Paperino <non_te@lo.dico.invalid> - 2017-10-20 23:31 +0200
Re: Invio mail Greg <greg@alicie.com> - 2017-10-23 11:13 +0200
Re: Invio mail Paperino <non_te@lo.dico.invalid> - 2017-10-23 11:49 +0200
Re: Invio mail Greg <greg@alicie.com> - 2017-10-23 15:29 +0200
Re: Invio mail Franz_aRTiglio <franzgol@N0SPAMtin.it> - 2017-10-20 01:25 +0200
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2017-10-19 22:18 +0200 |
| Subject | Invio mail |
| Message-ID | <osb1ao$49u$1@solani.org> |
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: mirko@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
[toc] | [next] | [standalone]
| From | Luca D <antaniserse@yahoo.it> |
|---|---|
| Date | 2017-10-19 14:12 -0700 |
| Message-ID | <714f353b-2552-4a19-9978-760c55db01f9@googlegroups.com> |
| In reply to | #19201 |
On Thursday, October 19, 2017 at 10:18:33 PM UTC+2, Greg wrote: > 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? 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
[toc] | [prev] | [next] | [standalone]
| From | Paperino <non_te@lo.dico.invalid> |
|---|---|
| Date | 2017-10-19 23:59 +0200 |
| Message-ID | <osb78i$9ia$1@gioia.aioe.org> |
| In reply to | #19201 |
Greg ha scritto:
> 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: mirko@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)
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 "indirizzo@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.
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2017-10-20 13:49 +0200 |
| Message-ID | <oscns7$4k7$1@solani.org> |
| In reply to | #19204 |
Il 19/10/17 23:59:55 Paperino 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 "indirizzo@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. Grazie Paperino, sto provando questa soluzione ma otengo un "errore definito dall'applciazione" sulla riga .Recipients.Add "prova@tin.it" Cosa può essere? -- Greg
[toc] | [prev] | [next] | [standalone]
| From | Paperino <non_te@lo.dico.invalid> |
|---|---|
| Date | 2017-10-20 17:21 +0200 |
| Message-ID | <osd463$1gnk$1@gioia.aioe.org> |
| In reply to | #19207 |
Greg ha scritto: > Paperino 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 "indirizzo@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. > Grazie Paperino, > sto provando questa soluzione ma otengo un "errore definito dall'applciazione" sulla riga .Recipients.Add > "prova@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.
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2017-10-20 17:36 +0200 |
| Message-ID | <osd56l$dh0$1@solani.org> |
| In reply to | #19208 |
Il 20/10/17 17:21:34 Paperino ha scritto: > Altri indizi? Un codice di errore, qualcosa...? > Se provi a immettere gli stessi dati direttamente da Outlook > 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
[toc] | [prev] | [next] | [standalone]
| From | Paperino <non_te@lo.dico.invalid> |
|---|---|
| Date | 2017-10-20 22:38 +0200 |
| Message-ID | <osdmsk$fo6$1@gioia.aioe.org> |
| In reply to | #19209 |
Greg ha scritto: > Paperino ha scritto: >> Altri indizi? Un codice di errore, qualcosa...? >> Se provi a immettere gli stessi dati direttamente da Outlook >> 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 Hmmm... Probabilmente è 287. Pare essere un effetto collaterale del rilevamento di un problema di sicurezza. Outlook vorrebbe avvisarti (e per qualche motivo non riesce a farlo - probabilmente perché in quel momento non è visibile - e va in errore) che un'applicazione esterna sta tentando di inviare mail a nome dell'utente. Più info qui: http://www.outlookcode.com/article.aspx?ID=52 Prima di provare metodi più drastici prova con una modifica semplice; al posto di: .Recipients.Add "indirizzo@serverposta.ext" prova con un semplice: .To "indirizzo@serverposta.ext" e vedi che succede. Ti dico subito che potrebbe non funzionare neanche nel codice, ma dipende da troppe cose. Se non va, bisogna modificare un paio di settaggi di sicurezza di Outlook. Dal menu File-->Opzioni-->Centro protezione-->Impostazioni centro protezione-->Accesso programmatico-->spunta Non segnalare mai attività sospette--->OK-->OK E controlla anche che l'AV sia attivo e funzionante, te lo dice lì sotto. Poi riprova (con .Recipient.Add) e fai sapere. > Buon we Altrettanto :-) Bye, G.
[toc] | [prev] | [next] | [standalone]
| From | Paperino <non_te@lo.dico.invalid> |
|---|---|
| Date | 2017-10-20 23:31 +0200 |
| Message-ID | <osdpuk$kd0$1@gioia.aioe.org> |
| In reply to | #19210 |
Paperino ha scritto: [CUT] > neanche nel codice, ma dipende da troppe cose. Non so come, forse a forza di copia incolla taglia e cuci, mi ero perso questo pezzo: Una seconda alternativa sarebbe quella di utilizzare un .Display subito prima del .Recipient.Add per attivare e visualizzare Outlook e la mail contenuta, ma non so se la cosa ti possa stare bene. D'altra parte, prima o poi l'utente deve pur visualizzarla, per spedirla. > Se non va, bisogna [CUT] Bye, G.
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2017-10-23 11:13 +0200 |
| Message-ID | <oskbqt$4e0$1@solani.org> |
| In reply to | #19210 |
Il 20/10/17 22:38:56 Paperino ha scritto: > > Hmmm... Probabilmente è 287. Pare essere un effetto collaterale > del rilevamento di un problema di sicurezza. Outlook vorrebbe > avvisarti (e per qualche motivo non riesce a farlo - probabilmente Si, era il 287 > prova con un semplice: > > .To "indirizzo@serverposta.ext" > > e vedi che succede. Ti dico subito che potrebbe non funzionare > 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
[toc] | [prev] | [next] | [standalone]
| From | Paperino <non_te@lo.dico.invalid> |
|---|---|
| Date | 2017-10-23 11:49 +0200 |
| Message-ID | <oskdum$129r$1@gioia.aioe.org> |
| In reply to | #19212 |
Greg ha scritto: > Paperino ha scritto: >> Hmmm... Probabilmente è 287. Pare essere un effetto collaterale >> del rilevamento di un problema di sicurezza. Outlook vorrebbe >> avvisarti (e per qualche motivo non riesce a farlo - probabilmente > Si, era il 287 >> prova con un semplice: >> .To "indirizzo@serverposta.ext" >> e vedi che succede. Ti dico subito che potrebbe non funzionare >> neanche nel codice, ma dipende da troppe cose. > E invece va benissimo :) Grazie > > Visto che conosci cosi bene Outlook, https://goo.gl/28hrzh O:-) Seriamente, ci ho giocato tre giorni a dir tanto. Conosco benino la tecnica delle ricerche in rete e l'inglese, questo sì, ma se mi togli Google il mio Q.I. apparente scende di una marea di punti e torna da dov'era venuto :-D > 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 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.
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2017-10-23 15:29 +0200 |
| Message-ID | <oskqrh$eh7$1@solani.org> |
| In reply to | #19213 |
Il 23/10/17 11:49:13 Paperino ha scritto: > Seriamente, ci ho giocato tre giorni a dir tanto. > Conosco benino la tecnica delle ricerche in rete e l'inglese, > questo sì, ma se mi togli Google il mio Q.I. apparente scende > di una marea di punti e torna da dov'era venuto :-D E purtroppo il mio inglese è poca cosa e Google, ormai da qualche tempo è molto orientato sui bisogni AdWord :( > >> 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 > > Ora sono (non per me...) in una sala d'attesa d'ospedale e col cell > non posso fare più di tanto, auguri al paziente :) > ma al posto tuo darei un'occhiata > a .ReadReceiptRequested e .OriginatorDeliveryReportRequested. Perfetto! Erano quelli che cercavo! > 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). 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
[toc] | [prev] | [next] | [standalone]
| From | Franz_aRTiglio <franzgol@N0SPAMtin.it> |
|---|---|
| Date | 2017-10-20 01:25 +0200 |
| Message-ID | <osbc75$i03$1@gioia.aioe.org> |
| In reply to | #19201 |
Greg ha usato la sua tastiera per scrivere :
> 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: mirko@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)
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.
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.lang.visual-basic
csiph-web