Excel - Mandar archivos desde C: al email Outlook (Excel VBA) Problemas!

 
Vista:

Mandar archivos desde C: al email Outlook (Excel VBA) Problemas!

Publicado por Julio (2 intervenciones) el 12/05/2018 18:43:00
Hola a tod@s, estoy intentando crear un código en VBA (ver debajo) para exportar archivos desde una carpeta en C: al correo del Outlook. El archivo de excel sobre el que quiero hacer la macro, tiene cuatro columnas, (email, subject, text , file name). Empieza en la segunda fila y tiene dos filas (con sus cuatro columnas correspondientes).
La macro me falla en la parte donde defino la variable "email".
Ciertamente no sé porque da error.
¿Alguien me podría ayudar con esto?

Saludos cordiales y mucha gracias

Julio

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Sub Macro1()
 
Dim outlookapp As Object
Dim outlookmailitem As Object
Dim Local_Users As Object
Dim email As String
Dim subject As String
Dim text As String
Dim filename As String
Dim path As String
Dim attachments As String
Dim x As Integer
Dim lastrow As Integer
 
'Do While x = Sheet1.Cells(x, 1) <> ""
'For x = 2 To 3
 
Set outlookapp = CreateObject("Outlook.Application")
Set outlookmailitem = outlookapp.createitem(0)
Set Local_Users = outlookmailitem.attachments
path = "C:\Users\fernanj22\Desktop\German call\Local Users"
 
email = Sheet1.Cells(x, 1)
subject = Sheet1.Cells(x, 2)
filename = Sheet1.Cells(x, 4)
text = Sheet1.Cells(x, 3)
attachment = path + filename
 
MsgBox email
outlookmailitem.To = email
outlookmailitem.subject = subject
outlookmailitem.Body = text
 
Local_Users.Add (attachments)
outlookmailitem.display
outlookmailitem.send
 
lastrow = lastrow + 1
emailaddress = ""
x = x + 1
 
'Loop
'Next x
 
Set outlookapp = Nothing
Set outlookemailitem = Nothing
 
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Abraham Valencia
Val: 313
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Mandar archivos desde C: al email Outlook (Excel VBA) Problemas!

Publicado por Abraham Valencia (125 intervenciones) el 12/05/2018 20:13:38
Hola

Es bastante simple y evidente: Tienes tu "For" con un apostrofe, lo que convierte a esa línea como un comentario y por lo tanto a la variable "x" no le estás dando valor entonces en esta otra línea:

email = Sheet1.Cells(x, 1)

La "x" es como un cero y obviamente no existe la celda (0,1)

Abraham Valencia

PD: OJO, no es la única línea comentada
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Mandar archivos desde C: al email Outlook (Excel VBA) Problemas!

Publicado por Julio (2 intervenciones) el 12/05/2018 20:44:28
Gracias Abraham por tu respuesta. Soy bastante nuevo con VBA y sigo aprendiendo.
Acabo de quitar el apóstrofe y funciona. La linea del Loop y Next x, sigue con el apóstrofe.
Para acabar el código, he puesto End Sub, pero al final me sale error "For without next". ¿Sabrías a que es debido?

Muchas gracias por tu ayuda,

saludos cordiales,
Julio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Abraham Valencia
Val: 313
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Mandar archivos desde C: al email Outlook (Excel VBA) Problemas!

Publicado por Abraham Valencia (125 intervenciones) el 13/05/2018 04:40:46
Los "For" no funcionan sin "Next". Quítale el apostrofe también.

Abraham Valencia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar