Condividi:        

colleg.ipertestuale

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: colleg.ipertestuale

Postdi Flash30005 » 29/01/15 01:09

A parte che ti ho inviato più file funzionanti con macro ma tu continui ad avere problemi
non è forse il caso che inviassi tu il tuo file (eliminando dati sensibili come indirizzi email)?

la riga aggiunta crea sicuramente il problema perché vai a selezionare la cella che fa attivare la macro (forse) ed entra in loop

ti ho fatto una domanda alla quale non hai risposto
perché dopo l'esecuzione della macro tu vuoi selezionare la successiva cella che contiene l'indirizzo email?
Vuoi forse effettuare un invio delle email a tutti gli indirizzi che sono nella colonna "A" ?
se è così non è questa la procedura

per favore chiarisci (meglio se con file)

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Sponsor
 

Re: colleg.ipertestuale

Postdi Gianpa12 » 05/02/15 17:31

Ciao a tutti e grazie delle risposte.

Ho provato a fare diversi tentativi ma niente non ci riesco. Il problema è che quando sposto il cursore dalla cella B2 alla cella B1, la macro apre contemporanemente l'email che c'è in B1, quella che c'è in B2 e quella che c'è in B3. Io vorrei che lanciata la macro quando sono in B1, la macro aprisse l'email che c'è in B1 e poi sposti il cursore in B2 ma senza aprire l'email che c'è in B2.

Qui trovate il file campione: http://www.filedropper.com/invioemail-copy

Potete per favore rispondermi, inviandomi il file excel corretto?

Un saluto e grazie.

Gianpa
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: colleg.ipertestuale

Postdi ricky53 » 05/02/15 18:04

Ciao,
come già detto anche da Flash ...

Io ti avevo proposto una soluzione tu l'hai provata? Come?
Ti avevo anche scritto che dovevi disabilitare gli eventi e ti avevo detto come fare ma tu ...
Hai detto che non andava ma non hai chiarito cosa facevi e non hai inviato un file.

Insomma NON fai quello che ti si suggerisce e ... passa il tempo senza che si arrivi alla soluzione.


Adesso finalmente abbiamo un file e ...
Ho modificato il codice (vedi i commenti) ed ho tolto i collegamenti ipertestuali che sono diventati inutili avendo una macro che invia le e-mail.

Prova Questo File

Per inviare le e-mail devi fare "DOPPIO CLICK" su una cella della colonna "A" !!!!

RICORDALO !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: colleg.ipertestuale

Postdi Flash30005 » 05/02/15 18:57

Io penso che tu stia prendendo un abbaglio
e non rispondi nemmeno alle domande per chiarire
Flash30005 ha scritto:ti ho fatto una domanda alla quale non hai risposto
perché dopo l'esecuzione della macro tu vuoi selezionare la successiva cella che contiene l'indirizzo email?
Vuoi forse effettuare un invio delle email a tutti gli indirizzi che sono nella colonna "A" ?
se è così non è questa la procedura
per favore chiarisci (meglio se con file)


In pratica qual' è lo scopo di selezionare la cella successiva (es.: da A1 a A2) dopo aver inviato l'email?
Se, e spero di no, il motivo è inviare la seconda email allora il procedimento non è questo ma tutt'altro
Perché, allora, non selezionare la cella a destra della cella con indirizzo email appena inviata o quella successiva, esempio B1 o B2?

ti ripropongo il file modificato
Download

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: colleg.ipertestuale

Postdi Gianpa12 » 05/02/15 20:46

Grazie delle risposte. Ho provato entrambi i file ma quello di Ricky è quello che mi serve (comunque entrambi funzionano).

Solo una domanda sul file di Ricky: ho aggiunto alla tua macro il tasto di selezione rapida CTRL+d per attivare la macro. Se sono sulla cella contenente l'inidirizzo email e lancio la macro con doppio click, si carica regolarmente la pagina con i campi precompilati correttamente. Se vado su un'altra cella (sempre nella colonna A degli indirizzi email) e invece di fare doppio click, lancio la macro facendo CTRL+d allora si apre sempre e comunque la pagina con i campi precompilati dell'ultima cella su cui ho fatto doppio click. Quindi CTRL+d aziona la macro come se fossi nella cella in cui ho azionato la macro l'ultima volta con il doppio click e questo anche se ora sono in un'altra cella della colonna A.

Forse è più semplice da far vedere che da spiegare. Qui trovi il file: http://www.filedropper.com/invioemail-copyricky53bis

Potresti fare la correzione necessaria per permettermi di azionare la macro anche con CTRL+d oltre che al doppio click?

Grazie mille dell'aiuto.

Gianpa
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: colleg.ipertestuale

Postdi ricky53 » 05/02/15 21:19

ciao,
Mi hai fatto penare (e non solo a me ... Flash ne sa qualcosa) ma da quanto tempo ti sto dicendo del doppio click???

E perche il tasto rapido? il doppio click e' piu'immediato e comodo
Appena posso vedo se e' possibile adattare ma ... ne vale la pena?

Altre necessita'
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: colleg.ipertestuale

Postdi Gianpa12 » 05/02/15 21:36

Grazie Ricky,

Si, sarebbe importante se riuscissi a far partire la macro anche con il CTRL+d oltre che con il doppio click.

Grazie mille,

Gianpa

PS: se ti risulta troppo complicato mantenermi valide entrambe le opzioni (CTRL+d e doppio click) allora scegli CTRL+d. Se invece riesci a mantenere valide entrambe le opzioni allora ancora meglio.
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: colleg.ipertestuale

Postdi Flash30005 » 05/02/15 23:01

@Gianpa12

Ti consiglio oltre a non dare informazioni incomplete di cercare, almeno, ad ascoltare coloro che ti pongono le domande per capire meglio qual è il fine che vuoi raggiungere..
Per ben 3 volte ti ho chiesto qual è l'esigenza per la quale dopo l'invio dell'email tu vuoi che venga selezionata la cella successiva nella stessa colonna degli indirizzi email ma non hai risposto.
Secondo me potrai avere anche delle "belle idee" ma troverai sempre ostacoli per realizzarle (non ti vantare per questo) perché essi non dipendono dal tuo prossimo (che si prodiga per te) ma da te stesso e dal tuo comportamento, così facendo troverai sempre meno persone disposti a darti una mano.

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: colleg.ipertestuale

Postdi ricky53 » 06/02/15 02:03

Ciao,
dopo aver letto quanto ti ha scritto Flash

Leggi il mio suggerimento:
per mantenere sia il "Doppio Click" che la combinazione di tasti non vedo altra soluzione che avere una nuova macro per il "Ctrl+d" e NON modificare per nulla il codice che hai detto funzionare come vorresti.

Allora procedi in questo modo:
copia questo codice in un Modulo
associalo alla tua combinazione di tasti e prova ...
Codice: Seleziona tutto
Sub Invia_Email()
' Associala a Ctrl+D
    If ActiveCell.Column <> 1 Then Exit Sub
    If ActiveCell.Value = "" Then Exit Sub
    Dest = ActiveCell.Value
    Oggetto = ActiveCell.Offset(0, 3).Value
    CorpoM = ActiveCell.Offset(0, 5).Value
    Macro_Flash
End Sub


E' chiaro che se sarà necessario fare delle modifiche dovranno essere modificate entrambe le macro.


Mi continua a sfuggire l'utilità di spostare la selezione della cella su una riga in basso ... secondo me ci si può confondere!
Sempre secondo me è meglio lasciare la selezione sulla cella sulla quale hai fatto "Doppio Click" o "Ctrl+d"
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: colleg.ipertestuale

Postdi Gianpa12 » 06/02/15 11:40

Grazie Ricky, mi hai trovato esattamente quello che cercavo.
Funziona perfettamente. Hai fatto un ottimo lavoro.
Molte grazie.
Gianpa
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: colleg.ipertestuale

Postdi ricky53 » 06/02/15 12:02

Ciao,
è stata dura ma ... ne siamo usciti.
Un po' stanchi e provati da questo tuo quesito ... condividi?

DOMANDA/RIFLESSIONI: Cosa hai imparato da questi 50 interventi?

Io dico: che se tu avessi messo in atto quanto trovi nella mia firma ed avessi "LETTO" con più attenzione i nostri interventi ed avessi risposto con precisione alle nostre domande ... saremmo ARRIVATI al RISULTATO in POCO TEMPO !

Quindi tanti "avessi" portano ad un solo "saremmo" !

Fai tesoro di questa esperienza e per il futuro "SAPRAI" come procedere.


Buon proseguimento.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: colleg.ipertestuale

Postdi Gianpa12 » 08/02/15 16:44

Solo un dubbio: quando aziono la macro (CTRL+d o doppio click) si apre regolarmente la pagina email con i campi precompilati (indirizzo email, oggetto, testo). Per inviare effettivamente l'email devo fare CTRL+invio (non l'ho impostato io; è un shortcut che funziona su yahoo, gmail, thunderbird, ...). Mi chiedevo se modificando la macro che mi hai indicato si riesce ad automatizzare anche quest'ultima fase dell'invio. Cioè l'obiettivo sarebbe, facendo CTRL+d, l'email si prepara automaticamente precompilata (questo già lo fa grazie alla tua macro) e viene inviata automaticamente senza che io debba fare ogni volta CTRL+invio. E' possibile?

Se ti è più comodo trovi il file qui: http://www.filedropper.com/20150208campione

Un saluto e grazie.

Gianpa
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: colleg.ipertestuale

Postdi ricky53 » 08/02/15 23:38

Ciao,
con Office 2003 ero riuscito a rendere tutto automatico con le versioni successive non ho trovato il modo di automatizzare.

Ormai il 2003 è diventato obsoleto.

Speriamo che qualche altro utente sappia come fare ...
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: colleg.ipertestuale

Postdi Flash30005 » 09/02/15 08:36

Per me ti sei arenato perché non hai esposto sin dall'inizio la tua effettiva necessità.
più volte ti ho interpellato per avere info ma i miei post sono stati completamente ignorati e ora fai tutto manualmente quando avresti potuto, in maniera molto più semplice, inviare email in successione senza alcun intervento manuale perché quanto fatto non serve a nulla ovvero non era quella la procedura da applicare nella macro.

Un proverbio recita così:
"chi è causa del proprio mal pianga se stesso"
Quanto hanno ragione, a volte, certi aforismi.
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: colleg.ipertestuale

Postdi Gianpa12 » 09/02/15 20:07

Caro Flash, i tuoi commenti sono sempre fonte di riflessione, ma vorrei essere chiaro su un punto.

La macro che mi ha fornito Ricky funziona perfettamente ed efficacemente al fine di soddisfare i miei bisogni. Sottolineo che i miei bisogni li decido io e non tu. Se e solo se, partendo dalla macro che ha sviluppato Ricky si riesce ad innestare l'automazione dell'invio email (ovvero il CTRL+invio) allora tanto meglio, altrimenti pazienza e me ne faro' una ragione. Al momento, la macro di Ricky sta svolgendo in pieno il suo compito.

Quindi, caro Flash, se sei capace di fare l'aggiustamento che ho richiesto nel mio ultimo post allora fallo, altrimenti non è grave, nessuno te ne fa una colpa.

In generale, i contenuti di questo forum sono di alto livello e chi lo frequenta lo fa semplicemente per risolvere problemi. Nulla di più e nulla di meno. Già trovo una grossa fortuna che gente della competenza di Ricky e di altri (inclusa anche quella tua Flash) non si facciano pagare per i consigli che danno in questo forum ... ma questo è un altro discorso. Percio' caro Flash, se con generosità e cortesia, risparmi a noi tutti i tuoi consigli sulla vita, sarebbe il più grande regalo che potresti farci. Lo so che Natale è passato da un po', ma confido nella tua generosità e soprattutto nella tua cortesia.

Con fiducia ti invio un saluto cordiale.

Gianpa
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: colleg.ipertestuale

Postdi Flash30005 » 09/02/15 21:04

No, non intendo dare lezioni di morale ma solo di logica e adesso lo dico per l'ultima volta e chiudo con questo post.
La tua esigenza era di inviare le email in successione con indirizzi in colonna "A" (o altra colonna non importa) e tu, erroneamente, hai pensato che se a fine macro si fosse provveduto a selezionare la cella successiva l'email sarebbe "partita" in automatico essendo un collegamento ipertestuale (come ben dichiarato dal titolo del topic).
Più volte ti ho chiesto il motivo di voler selezionare la cella successiva (rileggi in quanti post sopra non ti sei degnato di dare risposta), perché non ha senso, selezionare la successiva cella, se non quello che ho detto: invio dell'email all'indirizzo successivo.
Tu forse hai pensato di aver escogitato un buon sistema di invio automatico in successione ed invece non lo è perché ne esistono di migliori con il ciclo For next da A1 a An (per tutte le righe esistenti nella colonna).

Ricky è stato anche troppo buono ad assecondarti ed è alquanto strano questo comportamento da parte sua perché prima di applicarsi fa più di una domanda per avere conferma che ciò che andrà a fare sia veramente efficiente ed efficace.

Per quanto mi riguarda ti auguro tante buone cliccate!
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: colleg.ipertestuale

Postdi Gianpa12 » 09/02/15 22:51

Flash, sei pure un sensitivo e sai leggere il pensiero degli altri? Allora sei proprio il supereroe che guardavo in TV molti anni fa! Grande! Eri il mio preferito!

Flash, ascolta: come regola generale, io voglio che la macro si fermi esattamente nella riga successiva dopo avermi aperto un'email precompilandola nei suoi campi (indirizzo email, oggetto, testo) ma senza inviarla automaticamente (esattamente come riesco a fare grazie alle macro di Ricky). Questo è essenziale perchè il testo di ogni email è profondamente diverso l'uno dall'altro e non posso inviarlo in automatico senza prima averlo modificato manualmente di volta in volta come ritengo più opportuno in quel momento. Pero', qualche volta capita (randomly) che il testo dell'email è lo stesso per qualche email in successione e solo in questi casi mi sarebbe stato comodo avere un ulteriore upgrade delle macro di Ricky per far si che fosse automatizzato anche l'invio dell'email e non solo l'apertura precompilata del messaggio.

Quindi come noti le macro di Ricky sono per me molto importanti. Quindi il suo lavoro è stato estremamente efficace e mi ha fornito in maniera chirurgica quello di cui avevo bisogno. E se permetti caro Flash, se Ricky è stato efficace o no, lo decido io e non tu, poichè sono io che avevo il problema e lui me la risolto esattamente come volevo che fosse risolto. Quindi la sua efficacia è stata massima. Punto!

Come vedi, dovresti essere un po' più prudente prima di lanciarti in interpretazioni del pensiero altrui, perchè di Flash ce n'è solo uno e in questo momento, scommetto che si starà godendo la pensione in qualche spiaggia, forse in compagnia di Wonder Woman :-)

Spero tutto sia chiarito e non ci sia niente altro da aggiungere.

Un saluto cordiale.

Gianpa
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: colleg.ipertestuale

Postdi ricky53 » 10/02/15 01:03

Ciao,
mi sento chiamato ... ed intervengo per dire due cose nel modo più semplice possibile ma che sia molto preciso e dettagliato:

1. Flash mi conosce bene ed ha esposto benissimo il mio consueto comportamento nel forum che è quello di chiedere e ciedere per capire ed essere sicuro che tutte le necessità siano ottimizzate e valide e solo allora proporre una soluzione. Spesso devo far riflettere gli utenti sulla richiesta fatta e fargli modificare l'impostazione per avere un prodotto migliore. Preciso che non sono il solo ad aver questo comportamento anzi ...


2. questa volta ho preferito chiedere poco e non modificare la richiesta dell'utente, tranne il consiglio del "Doppi Click", per non essere sempre il solito "rompino" che chiede sempre tanto prima di proporre qualcosa ... rischiando di essere solo logorroico e non conclusivo.


Commento finale: non è da trascurare la possibilità di riorganizzare il sistema in modo che tu possa fare prima le modifiche ai testi di tutte le righe e poi procedere all'invio automatico "IN CICLO" di tutte le e-mail in elenco e qui rientra il discorso di Flash ... io se fossi in te ci penserei


Buon proseguimento.
Passo e chiudo.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: colleg.ipertestuale

Postdi Gianpa12 » 07/03/15 17:30

Per Ricky: se non ho capito male la tua proposta nell'ultimo paragrafo, tu suggerisci di dividere in due fogli separati le email che devo personalizzare e in un altro foglio quelle standard. Ho capito bene?

Se è questo che intendevi, mi è abbastanza scomodo ma se non si puo' fare diversamente ... ho separato le due tipologie di email. Le email personalizzate le invio con le macro che avete fatto tu (Invia_Email) e Flash (Macro_Flash). Invece per le email standard ho costruito una terza macro (Macro1) che dice a "Invia_Email" e "Macro_Flash" di azionarsi (cioè aprire un'email precompilata) ogni X secondi (non so se è questo il ciclo che intendevi).

Sarebbe molto prezioso per me poter continuare ad usare "Macro1" perchè mi da la flessibilità di cambiare la variabile "X secondi" se necessario. Rimane pero' ancora il problema che devo fare manualmente click su "invia email" per spedire l'email.

Per tutti: si potrebbe integrare in qualche modo le due macro "Invia_Email" e "Macro_Flash" per rendere automatico anche l'invio dell'email? Se pensate che per risolvere il problema bisogna stravolgere completamente "Invia_Email" e "Macro_Flash" fate pure, ma ci terrei a tenere "Macro1" per la sopra citata possibilità che mi da di gestire in modo flessibile gli "X secondi".

Ecco il file con le tre macro: http://www.filedropper.com/20150307invi ... ricky53bis

Grazie mille.

Gianpa
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: colleg.ipertestuale

Postdi ricky53 » 08/03/15 01:41

Ciao,
prova questo codice che invia automaticamente tutte le e-mail senza che tu debba fare altro che eseguire la macro "Invio_Automatico_Email"
Codice: Seleziona tutto
Option Explicit

Public Dest, Oggetto, CorpoM As String
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

Sub Invio_Automatico_Email()
    Dim URL As String, I As Integer, UR As Integer, WS As Worksheet
   
    Set WS = Sheets("Foglio1")
    UR = WS.Range("A" & Rows.Count).End(xlUp).Row
    For I = 2 To UR
        URL = "mailto:" & WS.Cells(I, "A") & "?subject=" & WS.Cells(I, "D") & "&body=" _
            & Replace(WS.Cells(I, "F"), Chr(10), "/" & vbCrLf & "\")
        URL = Left(URL, 2025)
        ShellExecute 0&, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus
    Next I
    Set WS = Nothing

    MsgBox "Sono state inviate " & UR - 1 & "  e-mail"
End Sub


Non ho avuto la possibilità di provare il codice perché su questo PC non ho installato alcun software per inviare e-mail
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "colleg.ipertestuale":


Chi c’è in linea

Visitano il forum: Nessuno e 95 ospiti