Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Mensajes por mail desde Excel

36 views
Skip to first unread message

Ricardo Gomez

unread,
Aug 8, 2001, 8:57:54 AM8/8/01
to
Como hago para enviar mensajes por email desde una macro en excel ???

Ademas, como hago para cerrar una hoja que tengo abierta sin que me pregunte
"Desea guardar los cambios " desde un comando VBA?

--
Ricardo Gómez G.
Director de E-business y Sistemas
Tel: 8614000 Ext 119

¿Conoce usted las JORNADAS de HP? Pregúntele a su ejecutivo de cuenta y
aproveche nuevas oportunidades de negocio !


JB- Jorgelina E. Bernasconi

unread,
Aug 8, 2001, 11:10:31 AM8/8/01
to
Ricardo:
Si lo que queres es enviar el libro activo por mail, el comando es como el
que sigue:
ActiveWorkbook.SendMail Recipients:="jorg...@dominio.com", Subject:="Aquí
va el Asunto del Mensaje"

Si lo que queres es crear un mensaje de correo desde excel, seria:

'***Primero declaras la funcion ShellExecute de las API de Windows*******
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA"
_
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd _
As Long) As Long

'***Y aqui esta la macro para enviar el mail*********
Sub AbrirMail()
Dim Email As String
Email = "j...@omicron.com.ar"
ShellExecute Application.hWnd, vbNullString, "mailto:" + Email, _
vbNullString, vbNullString, vbNormalFocus
End Sub

**** Para cerrar el libro activo, al agregar la linea
Application.DisplayAlerts=False le estas diciendo que no te haga ninguna
advertencia, y que haga por defecto lo que deba, sin preguntar.
Si queres vos indicar que guarde o no los cambios, pasale el
SaveChanges:=True o False al comando ThisWorkbook.Close
*******************
Sub Cerrar()
Application.DisplayAlerts = False
'True or False segun quieras guardar o no los cambios
ThisWorkbook.Close SaveChanges:=True
End Sub

Espero haberte ayudado.
Saludos!!!!
Jorgelina

orda...@gmail.com

unread,
Jun 20, 2016, 1:26:55 PM6/20/16
to
hola Jorgelina,

sobre este tema tengo un archivo que se genera con una tabla dinámica y al ejecutar mi macro envió la hoja activa lo que no puedo lograr es enviar la hoja activa como valores para no enviar todos lo datos de la tabla dinámica me puedes orientar un poco, esta es la macro que estoy usando.

Sub WorksheetLoop2()

Dim Current As Worksheet

For Each Current In Worksheets
Dim attBook$
attBook = Environ("temp") & "\" & Current.[A4] & ".xlsx"

Current.Copy

ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value (aqui tengo el error)

If Dir(attBook) <> "" Then Kill attBook
With ActiveWorkbook
.SaveAs Filename:=attBook, FileFormat:=51
.Close False

End With
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = Current.[a1]
.CC = Current.[a2]
.BCC = ""
.Subject = Current.[A3]
.Body = "Bus"
.Attachments.Add attBook

If .To = "" Then
.To = "d...@mx.com"
.CC = "j.com"
.Body = "Error, no se ha asignado un mail para "" " & Current.[A4]
End If

.send

End With

Set OutMail = Nothing
Set OutApp = Nothing


Next
MsgBox " "" " & Date
End Sub


un saludo.
0 new messages