Jump to content

Elegir cuenta de correo de outlook


Recommended Posts

Hola, estoy intentando enviar un correo pero no con la cuenta predeterminada que tengo en outlook. He revisado la ayuda y creo que lo que pretendo hacer se realiza atraves de la propiedad SendUsingAccount

Dim objOutlook As Object
Dim objItem As Object
Dim ADJUNTO As Variant
Set objOutlook = CreateObject("Outlook.Application")
Set objItem = objOutlook.CreateItem(olMailItem)
Set objNameSpace = objOutlook.GetNamespace("MAPI")
With objItem
.To = Range("K1").Value
.Subject = Range("A25").Value
.SendUsingAccount = "user@yahoo.es"
.Display
End With

No logro hacerlo funcionar, siempre me pone la cuenta por defecto.

Este es el link de esta propiedad que viene en la ayuda.

Propiedad MailItem.SendUsingAccount (Outlook)

Gracias.

Link to comment
Share on other sites

  • 2 weeks later...

Aunque esta consulta ya quedó solucionada en el foro antiguo, me ha parecido interesante que quedera constancia de la solución.

Sub EnviarCorreo()
Dim Aplicación As Outlook.Application
Dim Correo As Outlook.MailItem
Set Aplicación = CreateObject("Outlook.Application")
Set Correo = Aplicación.CreateItem(olMailItem)
Cuenta = ObtenerCuenta(Aplicación, "toldeman@toldeman.com")
With Correo
   .To = Range("K1").Value
   .Subject = Range("A25").Value
   .SendUsingAccount = Aplicación.Session.Accounts.Item(Cuenta)
   .Display
End With
End Sub

Function ObtenerCuenta(Aplicación As Object, EmailAddress As String)
For Each oAccount In Aplicación.Session.Accounts
    If oAccount.AccountType = olPop3 And _
       oAccount.SmtpAddress = EmailAddress Then
       ObtenerCuenta = oAccount
       Exit For
    End If
Next
End Function

 

Link to comment
Share on other sites

  • 1 year later...

Buenos días,

uso exactamente el código que has expuesto, pero me da error en la segunda linea, se detiene en "Dim aplicación as Outlook.Application" mostrando el mensaje "no se ha definido el tipo definido por el usuario" (ver imagen).

Me podeís ayudar con este error? Muchas gracias.

HolaCaptura.thumb.JPG.c7debe6827ba731f46fbbc5fd4f20d3c.JPG

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • 72 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Files

  • Download Statistics

    • Files
      170
    • Comments
      89
    • Reviews
      26

  • Crear macros Excel

  • Posts

    • Buenas noches profesor Antoni y demás miembros del foro. Tanto con la solución suya como la del profesor HDD resuelvo el problema y está es una tercera variante que nunca viene mal, porque todo lo que se aprende no pesa ni estorba Gracias por el enlace, en cuanto tenga el chance lo reviso. Necesito una última petición a ustedes. He tratado de convertir los números en texto a números y no he podido lograrlo. Lo hice con la función Sustituir por si hubiera algunos espacios de más, con el Texto en columna, lo multiplique x 1, le sumé +0, lo trate con un ciclo For Each, creando una variable Celda de tipo Range y un condicional If/End if y nada. Por favor, si fuera tan amables de sugerirme algo que no haya probado. Agradecido como siempre y mis respetos a ustedes. Pino
    • Utilizando la función  WorksheetFunction.Clean se eliminan la mayoría de caracteres no imprimibles.   Eliminar caracteres no imprimibles
    • Buenas tardes reiteradas. Que bien que se sumó el profesor Antoni a la solución. Qué provilegio, JSD y Antoni, no podría estar en mejores manos. Gracias a ambos por su respuestas, pero tengo una duda más. En el caso de Antoni manifiesta que el caracter es el 001 del ASCII, pero pregunto, si fuera otro caracter este códiogo me serviría también o hay que modificarle algo? Mis respetos a todos los miembros del Foro y en especial a Antoni y JSD. Agradecido. Pino
    • Hola Antoni, te adelantaste, bueno dejo lo mismo de otra manera Sub EliminarCaracteres(): Application.ScreenUpdating = False Dim rango As Range Dim datos As Variant Dim i As Long, j As Long With Hoja2 '>>>>> pon la hoja donde quieras trabajar Set rango = .Range("A4:M" & .Cells(.Rows.Count, "A").End(xlUp).Row) datos = rango.Value For i = 1 To UBound(datos, 1) For j = 1 To UBound(datos, 2) datos(i, j) = Application.WorksheetFunction.Clean _ (datos(i, j)) Next j Next i rango.Value = datos End With End Sub  
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy