Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Outlook : salvare automaticamente allegati

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

Outlook : salvare automaticamente allegati

Postdi buni75 » 07/05/15 17:27

salve,

c'è modo con Outlook 2010 di costruire una regola che, a fronte di mittente e/o testo fisso nel messaggio, salvi gli allegati in una determinata cartella del PC ?

ogni giorni ricevo delle mail dove l'allegato ha sempre lo stesso mittente e il nome del file è standard nei primi 10/15 caratteri, quindi riesco a far posizionare le mail in una certa cartella di outlook, ma gli allegati vanno salvati manualmente sul PC.

grazie , Francesco
buni75
Utente Junior
 
Post: 34
Iscritto il: 24/08/11 20:20

Sponsor
 

Re: Outlook : salvare automaticamente allegati

Postdi Dylan666 » 07/05/15 21:39

crea una regola per il testo e fagli applicare questa macro:
http://www.pixelchef.net/content/rule-a ... nt-outlook
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: Outlook : salvare automaticamente allegati

Postdi buni75 » 09/05/15 08:32

eccezionale !!!
ho provato e funziona alla grande, grazie e buon wend

Francesco
buni75
Utente Junior
 
Post: 34
Iscritto il: 24/08/11 20:20

Re: Outlook : salvare automaticamente allegati

Postdi Dylan666 » 09/05/15 09:15

Grazie a te per il feedback
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: Outlook : salvare automaticamente allegati

Postdi buni75 » 12/05/15 14:37

ciao Dylan,

è sorto un problemino : può accadere che alcuni file abbiano lo stesso nome, e allora leggendo ancora sul sito ho fatto la modifica dello script per mettere il time stamp.
il fatto è che lo mette all'inizio del file, invece avrei necessità di metterlo in coda prima di ".txt"

sapresti aiutarmi?

grazie, francesco
buni75
Utente Junior
 
Post: 34
Iscritto il: 24/08/11 20:20

Re: Outlook : salvare automaticamente allegati

Postdi Dylan666 » 12/05/15 15:48

è meno banale di quello che pensi, io passo la mano
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: Outlook : salvare automaticamente allegati

Postdi Anthony47 » 12/05/15 22:57

Prova a sostituire il ciclo For Each objAtt /Next con
Codice: Seleziona tutto
     For Each objAtt In itm.Attachments
        aName = objAtt.DisplayName
        mySplit = Split(aName, ".", , vbTextCompare)
        If UBound(mySplit, 1) > 0 Then
            aName = Replace(aName, "." & mySplit(UBound(mySplit, 1)), "_" & Format(Now, "yyyy-mm-dd_hh-mm") & "." & mySplit(UBound(mySplit, 1)))
        Else
            aName = aName & "_" & Format(Now, "yyyy-mm-dd_hh-mm")
        End If
        objAtt.SaveAsFile saveFolder & "\" & aName
        Set objAtt = Nothing
     Next


Ti e' chiaro che, con la macro che stai usando, ti troverai su disco sia gli allegati nella mail che quelli salvati separatamente? Io li avrei eliminati dalla mail...

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Outlook : salvare automaticamente allegati

Postdi buni75 » 13/05/15 12:49

ciao Anthony,

funziona egregiamente, l'unico neo è che se ricevo 2 o + file nello stesso minuto, il time stamp è uguale e perdo comunque un file.
c'è modo di mettere una sorta di contatore alfa o num al posto del time stamp? oppure un time stamp con i millisecondi?

sono mail che arrivano a raffica durante il giorno, quindi è facile che ne arrivino più di una nello stesso minuto.

tks, Francesco
buni75
Utente Junior
 
Post: 34
Iscritto il: 24/08/11 20:20

Re: Outlook : salvare automaticamente allegati

Postdi Anthony47 » 13/05/15 22:33

Forse basta inserire i secondi:
Codice: Seleziona tutto
Format(Now, "yyyy-mm-dd_hh-mm-ss")
(in due posti)

Se non ti fidi allora inserisci un ritardo di un secondo subito prima del next:
Codice: Seleziona tutto
    Application.Wait (Now + TimeValue("0:00:01"))
Next

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Outlook : salvare automaticamente allegati

Postdi buni75 » 14/05/15 06:45

ciao,

se il pc viene acceso dopo che i messaggi sono partiti, anche così perdo qualche allegato.
il top sarebbe avere i millisecondi oppure un contatore 0-9999 al posto del time stamp.

tks, francescco
buni75
Utente Junior
 
Post: 34
Iscritto il: 24/08/11 20:20

Re: Outlook : salvare automaticamente allegati

Postdi Anthony47 » 14/05/15 11:20

Se nel nome file c' e' il "Secondo", e se con la Wait finale aspetto certamente un secondo tra un ciclo e il successivo allora non puoi perdere allegati, e se li perdi e' per altri motivi; secondo me perche' una regola in ricezione non e' garantito sara' applicata a tutti i messaggi, se essi arrivano a blocchi (da questo punto di vista, la Wait e' in effetti una aggravante).
Per prova, aggiungi questa linea dopo il Next
Codice: Seleziona tutto
    Next
Debug.Print Format(Now, "hh:mm:ss _ ") & itm.Sender & " -- " & itm.Subject

Poi ferma outlook fino ad essere certo di aver ricevuto 5-10 mail; rilancia outlook e aspetta il completamento della ricezione.
Apri il vba (Alt-F11), apri la finestra Immediata (Contr-g) e controlla quante mail da quanti mittenti sono state "elaborate"; confronta questo elenco con le mail effettivamente ricevute e guarda se ci sono "sorprese".

Infatti io non avrei lavorato su una regola + script, ma con una macro che periodicamente controlla Inbox e cerca le mail che rispettano i criteri (ma io non sono capace di controllare criteri che non siano molto basici); trovandole le "spoglia" degli allegati che vengono salvati (ma possono rimanere, se lo spazio non e' un problema) e magari le sposta in altro folder.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Outlook : salvare automaticamente allegati

Postdi buni75 » 14/05/15 13:34

CIAO,

ora mi va in debug su "Application.Wait". ecco lo script :

Codice: Seleziona tutto
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "c:\SGScarti\"
     For Each objAtt In itm.Attachments
        aName = objAtt.DisplayName
        mySplit = Split(aName, ".", , vbTextCompare)
        If UBound(mySplit, 1) > 0 Then
            aName = Replace(aName, "." & mySplit(UBound(mySplit, 1)), "_" & Format(Now, "yyyy-mm-dd_hh-mm-ss") & "." & mySplit(UBound(mySplit, 1)))
        Else
            aName = aName & "_" & Format(Now, "yyyy-mm-dd_hh-mm-ss")
        End If
        objAtt.SaveAsFile saveFolder & "\" & aName
        Set objAtt = Nothing
        Application.Wait (Now + TimeValue("00:00:01"))

Next
Debug.Print Format(Now, "hh:mm:ss _ ") & itm.Sender & " -- " & itm.Subject

End Sub


cosa ho sbagliato?

grazie , Francesc
buni75
Utente Junior
 
Post: 34
Iscritto il: 24/08/11 20:20

Re: Outlook : salvare automaticamente allegati

Postdi Anthony47 » 14/05/15 14:32

cosa ho sbagliato?
Hai sbagliato a fidarti di quello che ti dico!
Application.Wait non esiste sul vba di Outlook.
Inserisci questa funzione nello stesso modulo della tua macro:
Codice: Seleziona tutto
Sub myWait(ByVal myStab As Single)
Dim myStTIm As Single
'
    myStTIm = Timer
    Do          'wait myStab
        DoEvents
        If Timer > myStTIm + myStab Or Timer < myStTIm Then Exit Do
    Loop
End Sub

Poi invece di Application.Wait etc etc scrivi myWait(1)

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Outlook : salvare automaticamente allegati

Postdi buni75 » 14/05/15 16:01

cosi' mi da "prevista end sub" su Set objAtt = Nothing

Codice: Seleziona tutto
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "c:\SGScarti\"
     For Each objAtt In itm.Attachments
        aName = objAtt.DisplayName
        mySplit = Split(aName, ".", , vbTextCompare)
        If UBound(mySplit, 1) > 0 Then
            aName = Replace(aName, "." & mySplit(UBound(mySplit, 1)), "_" & Format(Now, "yyyy-mm-dd_hh-mm-ss") & "." & mySplit(UBound(mySplit, 1)))
        Else
            aName = aName & "_" & Format(Now, "yyyy-mm-dd_hh-mm-ss")
        End If
        objAtt.SaveAsFile saveFolder & "\" & aName
        Set objAtt = Nothing
Sub myWait(ByVal myStab As Single)
Dim myStTIm As Single
'
    myStTIm = Timer
    Do          'wait myStab
        DoEvents
        If Timer > myStTIm + myStab Or Timer < myStTIm Then Exit Do
    Loop
End Sub
myWait (1)
Next
Debug.Print Format(Now, "hh:mm:ss _ ") & itm.Sender & " -- " & itm.Subject

End Sub


non riesco proprio ...

grazie, Francesco
buni75
Utente Junior
 
Post: 34
Iscritto il: 24/08/11 20:20

Re: Outlook : salvare automaticamente allegati

Postdi Anthony47 » 14/05/15 18:47

La Sub myWait e' una macro a se' stante, quindi va inserita dopo il codice della tua Sub saveAttachtoDisk.
Ricorda che il Debug.Print e' solo a scopi di test (creare un elenco di mail processate).

Ti prego di usare il tag "Code" quando inserisci il codice di una macro, o una formula; migliora la leggibilita': selezioni il testo della macro o della formula, premi il tasto Code che trovi subito sopra il textbox in cui si scrive il messaggio.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Outlook : salvare automaticamente allegati":


Chi c’è in linea

Visitano il forum: Nessuno e 17 ospiti