Ayuda por favor a principiante

20/12/2004 - 21:19 por osalazarg | Informe spam
Espero que me puedan ayudar por favor
Encontre este codigo, crei que podria usarlo para bajar mis correos, pero
soy principiante de macros he aprendido mucho en este foro, pero este
codigo me envia error, me dice:

"Microsoft Excel esta esperando que otra aplicacion complete una acción
OLE".

¿Como podria modificarlo para que no se quede pasmado y ya no salga este
error?

Por su ayuda por anticipado muchas gracias.

Option Explicit

Sub DescargarArchivos()

Dim olApplication As Object 'Outlook.Application
Dim olNameSpace As Object 'Outlook.NameSpace
Dim olFolderCorreo As Object 'Outlook.MAPIFolder
Dim olFolderBandejaEntrada As Object 'Outlook.MAPIFolder
Dim olMailItem As Object 'Outlook.MailItem
Dim olAttachment As Outlook.Attachment
Dim olMailItemAnexo As Object ' Outlook.MailItem

Set olApplication = CreateObject("Outlook.Application")
Set olNameSpace = olApplication.GetNamespace("MAPI")
Set olFolderCorreo = olNameSpace.Folders("Mailbox - SALAZAR GONZALEZ
OCTAVIO")
Set olFolderBandejaEntrada = olFolderCorreo.Folders("Bandeja de entrada")

For Each olMailItem In olFolderBandejaEntrada.Items
If olMailItem.CreationTime >= DateSerial(2004, 12, 20) + TimeSerial(0,
0, 0) And olMailItem.CreationTime <= DateSerial(2004, 12, 31) Then
For Each olAttachment In olMailItem.Attachments
MsgBox "Nombre: " & olAttachment.DisplayName & vbCr & "Tipo: " &
olAttachment.Type, vbInformation, Application.Name
'Los anexos tipo 6 no se pueden guardar en disco
If olAttachment.Type = 1 Or olAttachment.Type = 5 Then '1 olByValue
olAttachment.SaveAsFile "C:\CORREOS DE MACRO\" &
olAttachment.Filename
End If
Next olAttachment
End If
Next olMailItem

Set olFolderBandejaEntrada = Nothing
Set olFolderCorreo = Nothing
Set olNameSpace = Nothing
Set olApplication = Nothing

End Sub
 

Leer las respuestas

#1 KL
20/12/2004 - 22:35 | Informe spam
Sago,

He copiado tu codigo a mi fichero (modificando ligeramente los nombres de
carpetas), he establecido la referencia a la Libreria de Objetos de Outlook
9.0 y me funciona perfectamente.

KL (XL 2000)

Sub DescargarArchivos()
Dim olApplication As Object 'Outlook.Application
Dim olNameSpace As Object 'Outlook.NameSpace
Dim olFolderCorreo As Object 'Outlook.MAPIFolder
Dim olFolderBandejaEntrada As Object 'Outlook.MAPIFolder
Dim olMailItem As Object 'Outlook.MailItem
Dim olAttachment As Outlook.Attachment
Dim olMailItemAnexo As Object ' Outlook.MailItem

Set olApplication = CreateObject("Outlook.Application")
Set olNameSpace = olApplication.GetNamespace("MAPI")
Set olFolderCorreo = olNameSpace.Folders("Personal Folders")
Set olFolderBandejaEntrada = olFolderCorreo.Folders("Inbox")

For Each olMailItem In olFolderBandejaEntrada.Items
If olMailItem.CreationTime >= DateSerial(2004, 12, 20) + _
TimeSerial(0, 0, 0) And olMailItem.CreationTime <= _
DateSerial(2004, 12, 31) Then
For Each olAttachment In olMailItem.Attachments
MsgBox "Nombre: " & olAttachment.DisplayName & vbCr _
& "Tipo: " & olAttachment.Type, vbInformation, _
Application.Name
'Los anexos tipo 6 no se pueden guardar en disco
If olAttachment.Type = 1 Or olAttachment.Type = 5 _
Then '1 =olByValue
olAttachment.SaveAsFile "C:\temp\" & _
olAttachment.Filename
End If
Next olAttachment
End If
Next olMailItem

Set olFolderBandejaEntrada = Nothing
Set olFolderCorreo = Nothing
Set olNameSpace = Nothing
Set olApplication = Nothing
End Sub


"sago" wrote in message
news:
Espero que me puedan ayudar por favor
Encontre este codigo, crei que podria usarlo para bajar mis correos, pero
soy principiante de macros he aprendido mucho en este foro, pero este
codigo me envia error, me dice:

"Microsoft Excel esta esperando que otra aplicacion complete una acción
OLE".

¿Como podria modificarlo para que no se quede pasmado y ya no salga este
error?

Por su ayuda por anticipado muchas gracias.

Option Explicit

Sub DescargarArchivos()

Dim olApplication As Object 'Outlook.Application
Dim olNameSpace As Object 'Outlook.NameSpace
Dim olFolderCorreo As Object 'Outlook.MAPIFolder
Dim olFolderBandejaEntrada As Object 'Outlook.MAPIFolder
Dim olMailItem As Object 'Outlook.MailItem
Dim olAttachment As Outlook.Attachment
Dim olMailItemAnexo As Object ' Outlook.MailItem

Set olApplication = CreateObject("Outlook.Application")
Set olNameSpace = olApplication.GetNamespace("MAPI")
Set olFolderCorreo = olNameSpace.Folders("Mailbox - SALAZAR GONZALEZ
OCTAVIO")
Set olFolderBandejaEntrada = olFolderCorreo.Folders("Bandeja de entrada")

For Each olMailItem In olFolderBandejaEntrada.Items
If olMailItem.CreationTime >= DateSerial(2004, 12, 20) + TimeSerial(0,
0, 0) And olMailItem.CreationTime <= DateSerial(2004, 12, 31) Then
For Each olAttachment In olMailItem.Attachments
MsgBox "Nombre: " & olAttachment.DisplayName & vbCr & "Tipo: " &
olAttachment.Type, vbInformation, Application.Name
'Los anexos tipo 6 no se pueden guardar en disco
If olAttachment.Type = 1 Or olAttachment.Type = 5 Then '1 > olByValue
olAttachment.SaveAsFile "C:\CORREOS DE MACRO\" &
olAttachment.Filename
End If
Next olAttachment
End If
Next olMailItem

Set olFolderBandejaEntrada = Nothing
Set olFolderCorreo = Nothing
Set olNameSpace = Nothing
Set olApplication = Nothing

End Sub

Preguntas similares