Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Errore da Outlook ad Excel

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

Errore da Outlook ad Excel

Postdi renderz » 22/05/07 10:13

questa macro da excel scarica il contenuto della folder principale della propria mailbox sul foglio di lavoro.
Mi scarica correttamente sia l'oggetto,il corpo del messaggio ma mi va in errore sui campi StartDate e DueDate dicendomi : "proprietà o metodo non supportati dall oggetto".
è un problema di librerie non caricate secondo voi?io tutte quelle che c'erano l'ho aggiunte...
Un altra domanda : se invece del contenuto della cartella principale volessi scaricare una sottocartella con un percorso particolare?come sarebbe la sintassi?
grazie a tutti per l'eventuale aiuto!

Sub RiceviAttivita()
Dim olapp As Outlook.Application
Dim olns As Outlook.NameSpace
Dim olmf As Outlook.MAPIFolder
Dim obj As Object
Set olapp = New Outlook.Application
Set olns = olapp.GetNamespace("mapi")
Set olmf = olns.GetDefaultFolder(olFolderTasks)
i = 1
For Each obj In olmf.Items
Range("A" & i) = obj.Subject 'Oggetto
Range("B" & i) = obj.StartDate 'Data inizio
Range("C" & i) = obj.DueDate 'Data scadenza
Range("D" & i) = obj.Body 'Corpo
i = i + 1
Next
End Sub
renderz
Newbie
 
Post: 1
Iscritto il: 22/05/07 10:10

Sponsor
 

Postdi Anthony47 » 22/05/07 17:01

Ciao renderz e benvenuto.
Le istruzioni che usi servono per importare oggetti di tipo Attivita’, che hanno inizio e scadenza, non mail.

Puoi leggere il tipo di oggetto che stai elaborando con
Codice: Seleziona tutto
obj.Class

Sperimentalmente ho notato che un oggetto mail restituisce 43; quindi puoi fare un test su questa voce per acquisire dei campi o degli altri.

Altri campi che puoi leggere per una mail:
obj.SentOn 'data di invio
obj.Subject 'Oggetto
obj.CC 'In copia a
obj.To 'Destinatario
obj.SenderName 'Mittente

Non so quali altri campi si possono elaborare, e come.

Per cambiare folder, partendo dal default, puoi aggiungere dopo l’ attuale Set olmf:
Codice: Seleziona tutto
Set olmf = olmf.Folders("Cartella")     'Nome della sottocartella




Quindi una versione modificata della macro che hai postato potrebbe essere:
Codice: Seleziona tutto
Sub RiceviPosta()
Dim olapp As Outlook.Application 'Pensare a Strumenti/Riferimenti MicrosoftOutlook Library (nel VBE)
Dim olns As Outlook.Namespace
Dim olmf As Outlook.MAPIFolder
Dim obj As Object
Set olapp = New Outlook.Application
Set olns = olapp.GetNamespace("mapi")
Set olmf = olns.GetDefaultFolder(olFolderInbox)
Set olmf = olmf.Folders("Sottocartella")
i = 1
MsgBox ("Ci sono  " & olmf.Items.Count & "  messaggi")
For Each obj In olmf.Items
If obj.Class <> 43 Then GoTo skippa
Range("A" & i) = obj.Subject
Range("B" & i) = obj.To
'Range("C" & i) = obj.Body
Range("D" & i) = obj.SentOn
Range("E" & i) = obj.CC
Range("F" & i) = obj.SenderName
Range("G" & i) = obj.Class
i = i + 1
skippa:
Next
End Sub


Per escludere qualche campo devi cancellare le relative istruzioni.

Ciao, fai sapere.
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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Errore da Outlook ad Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti