Cómo funciona JustAnswer:
  • Preguntar a un Experto
    Los expertos tienen muchos conocimientos valiosos y están dispuestos a ayudar en cualquier pregunta. Credenciales confirmadas por una empresa de verificación perteneciente a Fortune 500.
  • Obtener una respuesta profesional
    Por correo electrónico, mensaje de texto o notificación mientras espera en su sitio.
    Haga preguntas de seguimiento si lo necesita.
  • Garantía de satisfacción plena
    Garantizamos tu satisfacción.
Formule su propia pregunta a Jose Mari
Jose Mari
Jose Mari, Grado Superior
Categoría: Informática
Clientes satisfechos: 526
Experiencia:  Técnico informático y Programador.
57600787
Escriba su pregunta sobre Informática aquí...
Jose Mari está en línea ahora

como enviar un mail desde excel

Pregunta del cliente

<p>como enviar un mail desde excel.</p><p>Se trata de enviar una sóla hoja del libro activo. A ser posible con outlook.</p><p>Y</p>
Enviada: hace 6 año.
Categoría: Informática
Experto:  Jose Mari escribió hace 6 año.
Buenos días,

Si quieres puedes ponerte en contacto conmigo [email protected] para que te pueda mirar la hoja de excel. Envíame una copia de la hoaja de excel.

Quedando a la espera de recibir noticias tuyas, recibe un saludo,

Jose Mari.
Cliente: escribió hace 6 año.

Yo sé perfectamente enviar el libro activo a una dirección de correo. Lo que quiero saber son dos cosas. ¿Como enviar un libro distinto del activo que esta cerrado en una carpeta? ¿Cómo enviar una sóla hoja del libro activo?

 

Experto:  Jose Mari escribió hace 6 año.
Hola de nuevo,

Enviame una copia y así te lo programo y te lo explico.

Mi direccion [email protected]

Un saludo,
Experto:  Jose Mari escribió hace 6 año.
Hola de nuevo,

Acepta la solución y te envío la respuesto.

Espero tu aceptación. Un saludo,

Jose Mari.
Experto:  ratonxi escribió hace 6 año.
hola, gracias XXXXX XXXXX JA:

Prueba con este código:

Sub Mail_workbook_1()
'Working in 97-2010
Dim wb As Workbook
Dim I As Long


Set wb = ActiveWorkbook

If Val(Application.Version) >= 12 Then
If wb.FileFormat = 51 And wb.HasVBProject = True Then
MsgBox "There is VBA code in this xlsx file, there will" & vbNewLine & _
"be no VBA code in the file you send. Save the" & vbNewLine & _
"file first as xlsm and then try the macro again.", vbInformation
Exit Sub
End If
End If

On Error Resume Next
For I = 1 To 3
wb.SendMail "[email protected]", _
"Asunto del email"
If Err.Number = 0 Then Exit For
Next I
On Error GoTo 0
End Sub


En Set wb = ActiveWorkbook, se especifica que mande adjunto el archivo de excel que se está utilizando. Sino, puedes cambiarlo por el nombre del workbook que quieras enviar. Por lo demás, sólo tendrás que configurar el wb.SendMail con la dirección a la que quieras enviar el correo y el asunto del mismo.

Para enviar varias páginas a diferentes direcciones, usa este código:

Sub Mail_Sheets()
'Working in 97-2010
Dim wb As Workbook
Dim Shname As Variant
Dim Addr As Variant
Dim N As Integer
Dim TempFilePath As String
Dim TempFileName As String
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim I As Long

Shname = Array("hoja1", "hoja2", "hoja3", "hoja4")
Addr = Array("[email protected]", "[email protected]", "[email protected]", "[email protected]")

If Val(Application.Version) >= 12 Then
'You run Excel 2007-2010
FileExtStr = ".xlsm": FileFormatNum = 52
Else
'You run Excel 97-2003
FileExtStr = ".xls": FileFormatNum = -4143
End If

With Application
.ScreenUpdating = False
.EnableEvents = False
End With

TempFilePath = Environ$("temp") & "\"

'Create the new workbooks/Mail it/Delete it
For N = LBound(Shname) To UBound(Shname)

TempFileName = "Sheet " & Shname(N) & " " & Format(Now, "dd-mmm-yy h-mm-ss")

ThisWorkbook.Sheets(Shname(N)).Copy
Set wb = ActiveWorkbook

With wb
.SaveAs TempFilePath & TempFileName & FileExtStr, FileFormatNum
On Error Resume Next
For I = 1 To 3
.SendMail Addr(N), _
"This is the Subject line"
If Err.Number = 0 Then Exit For
Next I
On Error GoTo 0
.Close SaveChanges:=False
End With

'Delete the file you have send
Kill TempFilePath & TempFileName & FileExtStr

Next N

With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub

La hoja se envía al destinatario1, la hoja 2 al destinatario 2..etc. Aquí también puedes cambiar el Set.wb para que apunte a otro documento de excel.

Saludos! Si te he sido de ayuda no olvides aceptar mi respuesta!







Experto:  Jose Mari escribió hace 6 año.
Hola de nuevo,

Piensas aceptar para que te envie la respuesta?

Un saludo,
Jose Mari, Grado Superior
Categoría: Informática
Clientes satisfechos: 526
Experiencia: Técnico informático y Programador.
Jose Mari y otros otros especialistas en Informática están preparados para ayudarle
Cliente: escribió hace 6 año.

A ver si nos aclaramos. Que yo haya aceptado la respuesta, no significa que se me haya dado. Lo único que se ha respondido es que mande la hoja de cálculo, cosa que por criterrios de confidencialidad no era posible.

Pero a mi no me ha solucionada nadie nada. Lo dejé yo solucionado ayer.

He aceptado porque tengo otra consulta:

 

¿Cómo se deshabilita el mensaje de advertencia que sale cuando se envía un correo desde excel?

Experto:  Jose Mari escribió hace 6 año.
Buenas noches,

Me alegra saber que has solucionado el tema de envio de los mensajes.

Los mensajes se deshabilitan con la siguiente sentencia:
Application.DisplayAlerts = False

Application.DisplayAlerts = True


Si necesitas cualquier cosa, ponte en contacto conmigo a través del email [email protected]

Un saludo,

Jose Mari.