Macro
Hola buen día, fíjate que tengo el código que te adjunto al final, que yo lo arme por poquitos de lo poco que estoy aprendiendo de macros en excel, bueno la macro lo que hace es que toma un archivo de un directorio y lo agrega a un mensaje, esto lo hace de forma diaria para unas 30 personas que les tengo que enviar el archivo, pero el problema es que cuando el mensaje les llega, no pueden abrir el archivo desde el mensaje sino que tienen que grabarlo en el disco de su maquina para poder verlo, quisiera saber si me puedes ayudar en donde tengo el error porque no lo pueden abrir desde el mensaje en outlook.
sub enviar_archivo
Dim objMessage As Message ' local
Dim objRecip As Recipient ' local
Dim objSession As Object ' or Dim objSession As MAPI.Session
On Error GoTo error_olemsg
' create a session then log on, supplying username and password
Set objSession = CreateObject("MAPI.Session")
' change the parameters to valid values for your configuration
objSession.Logon "Ms Exchange settings"
If objSession Is Nothing Then
MsgBox ("must first log on; use Session->Logon")
Exit Sub
End If
Set objMessage = objSession.Outbox.Messages.Add
If objMessage Is Nothing Then
MsgBox "No se puede Crear un nuevo Mensaje en la caja de salida"
Exit Sub
End If
fechProd = format(dateadd("d",-1,date),"dd/mm/yy")
With objMessage ' message object
.Subject = "Ventas"
.Text = " Ventas del día " & fechProd & "."
.Text = objMessage.Text ' add placeholder for attachment
Set objAttach = .Attachments.Add ' add the attachment
If objAttach Is Nothing Then
MsgBox "No se puede crear un objeto atachado"
Exit Sub
End If
With objAttach
.Type = CdoFileData
.Position = 0 ' render at first character of message
.Name = "c:\ventas\Ventas " fechprod & ".xls"
.ReadFromFile "c:\ventas\Ventas " fechprod & ".xls"
End With
objAttach.Name = "Ventas " fechprod & ".xls"
Set objAttach = .Attachments.Add ' add the attachment
' create the recipient
Set objOneRecip = objMessage.Recipients.Add
objOneRecip.Name = "Lorena Luna"
objOneRecip.Type = CdoTo
objOneRecip.Resolve
.Update ' update message to save attachment in MAPI system
End With
objMessage.Send showDialog:=False
objSession.Logoff
Exit Sub
error_olemsg:
Resume Next
End Sub
sub enviar_archivo
Dim objMessage As Message ' local
Dim objRecip As Recipient ' local
Dim objSession As Object ' or Dim objSession As MAPI.Session
On Error GoTo error_olemsg
' create a session then log on, supplying username and password
Set objSession = CreateObject("MAPI.Session")
' change the parameters to valid values for your configuration
objSession.Logon "Ms Exchange settings"
If objSession Is Nothing Then
MsgBox ("must first log on; use Session->Logon")
Exit Sub
End If
Set objMessage = objSession.Outbox.Messages.Add
If objMessage Is Nothing Then
MsgBox "No se puede Crear un nuevo Mensaje en la caja de salida"
Exit Sub
End If
fechProd = format(dateadd("d",-1,date),"dd/mm/yy")
With objMessage ' message object
.Subject = "Ventas"
.Text = " Ventas del día " & fechProd & "."
.Text = objMessage.Text ' add placeholder for attachment
Set objAttach = .Attachments.Add ' add the attachment
If objAttach Is Nothing Then
MsgBox "No se puede crear un objeto atachado"
Exit Sub
End If
With objAttach
.Type = CdoFileData
.Position = 0 ' render at first character of message
.Name = "c:\ventas\Ventas " fechprod & ".xls"
.ReadFromFile "c:\ventas\Ventas " fechprod & ".xls"
End With
objAttach.Name = "Ventas " fechprod & ".xls"
Set objAttach = .Attachments.Add ' add the attachment
' create the recipient
Set objOneRecip = objMessage.Recipients.Add
objOneRecip.Name = "Lorena Luna"
objOneRecip.Type = CdoTo
objOneRecip.Resolve
.Update ' update message to save attachment in MAPI system
End With
objMessage.Send showDialog:=False
objSession.Logoff
Exit Sub
error_olemsg:
Resume Next
End Sub
Respuesta de jbf99
1