Usuario
descargar adjunto de correo electronico en VB6

Pregunta
-
Hola
Utilizo VB6 SP6, Win XP pro2002 SP3
Estoy intentando descargar un fichero adjunto de mas de 8 caracteres, pero no puedo, el codigo que empleo es el siguiente:
MAPISession1.Action = 1 'session_signon
MAPIMessages1.SessionID = MAPISession1.SessionID
MAPIMessages1.FetchUnreadOnly = True
MAPIMessages1.Action = 1 'message_fetch
Dim i As Integer
For i = 0 To MAPIMessages1.AttachmentCount - 1
MAPIMessages1.AttachmentIndex = i
Dim intLenFileName As Integer
Dim intStrPos As Integer
Dim strNewFileName
intLenFileName = Len(MAPIMessages1.AttachmentPathName)
For intStrPos = intLenFileName To 1 Step -1
If InStr(1, _
Right$(MAPIMessages1.AttachmentPathName, _
intLenFileName - (intStrPos - 1)), _
"\", 1) Then
strNewFileName = _
Right$(MAPIMessages1.AttachmentPathName, _
intLenFileName - intStrPos)
Exit For
End If
Next
FileCopy MAPIMessages1.AttachmentPathName, _
"c:\" & strNewFileName
Next
Pero solo me guarda 8 caracteres y 3 de la extension.
Hay alguna forma de poder guardar todos los caracteres del nombre del fichero.
Gracias
Un saludo
Jesus
Todas las respuestas
-
-
-
-
Hola de nuevo.
En el codigo que me envias, me falta un With, ya que me pone "For Each ObjAttach In .Attachments ". He probado con un Dim Correos as Object, pero no me funciona, me dice: "Variable de tipo Object o la variable del bloque with no esta establecida.", y no se como ponerlo.
Gracias
Un saludo
-
-
Hola de nuevo y muchas gracias por el interes que estas poniendo, pero o me estoy liando o no me entero de nada.
Creo entender que lo debo poner asi:
MAPISession1.Action = 1 'session_signon
MAPIMessages1.SessionID = MAPISession1.SessionID
MAPIMessages1.FetchUnreadOnly = True
MAPIMessages1.Action = 1 'message_fetch
Dim i As Integer
Dim objattach As Message
Set objattach = New Message
For Each objattach In .Attachments (1)
With objattach
Archivo = .Name
On Error Resume Next
.WriteToFile Archivo
ControlArchivO = Dir(Archivo, vbArchive)
End With
Next
pero me da errores. Si pudieras poner el codigo compelto te estaria agradecido. Un saludo(1) me dice, "Referencia no valida o sin calificar"
-
MAPISession1.Action = 1 'session_signon
MAPIMessages1.SessionID = MAPISession1.SessionID
MAPIMessages1.FetchUnreadOnly = True
MAPIMessages1.Action = 1 'message_fetch
Dim i As IntegerDIM ObjMessage as mapi.message
WITH OBJMESSAGE (EL MENSAJE OBTENIDO)
Dim objattach As MAPI.ATTACHMENTS
For Each objattach In .Attachments (1)
With objattach
Archivo = .Name
On Error Resume Next
.WriteToFile Archivo
ControlArchivO = Dir(Archivo, vbArchive)
End With
Next
pero me da errores. Si pudieras poner el codigo compelto te estaria agradecido. Un saludo(1) me dice, "Referencia no valida o sin calificar"