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

Preguntas similare

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

Respuesta Responder a este mensaje
#2 osalazarg
20/12/2004 - 23:50 | Informe spam
Muchas gracias por contestarme.

Yo tambien establecí la referencia a la Libreria de Objetos de Outlook
9.0, se queda pensando la maquina al terminar de bajar los archivos del
rango de fechas, despues me envia este error "Microsoft Excel esta
esperando que otra aplicacion complete una acción OLE". y no me deja
seguir ultilizando excel, tengo que matar la aplicación con Administrador
de Tareas.

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
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida