Cómo guardar automáticamente correos electrónicos enviados específicos en una carpeta específica con Outlook VBA

Comparte ahora:

De forma predeterminada, Outlook guardará los correos electrónicos enviados en la carpeta "Elementos enviados". Si no desea guardar los correos enviados específicos en la carpeta predeterminada, puede emplear el método presentado en este artículo.

Algunos usuarios desean guardar automáticamente algunos correos electrónicos enviados en la carpeta especificada en lugar de guardarlos en la carpeta predeterminada "Elementos enviados". Por lo tanto, muchos recurren a la regla de Outlook, que ofrece una acción similar: "mover una copia a la carpeta especificada", que se muestra en la siguiente captura de pantalla. Sin embargo, por este medio, en realidad, el correo electrónico enviado original todavía se guarda en la carpeta "Elementos enviados". Solo una copia del correo electrónico enviado se mueve a la carpeta especificada. Aparentemente, esta característica no puede satisfacer las necesidades reales.Crear una regla para mover automáticamente una copia a la carpeta especificada

Por supuesto, los usuarios pueden especificar manualmente una carpeta no predeterminada para guardar el correo electrónico enviado. Simplemente vaya a la pestaña "Opciones" y haga clic en "Guardar elemento enviado en"> "Otra carpeta". Pero este enfoque será problemático ya que los usuarios deben especificar manualmente la carpeta cada vez.Guardar el elemento enviado en otra carpeta manualmente

Ahora que ambos medios mencionados anteriormente no son eficientes, ¿por qué no recurrir a Outlook VBA? Estos son los códigos y pasos concretos para guardar automáticamente los correos electrónicos enviados específicos en una carpeta específica.

Guardar automáticamente correos electrónicos enviados específicos en una carpeta específica

  1. Para empezar, abre la aplicación Outlook.
  2. Luego, debe presionar los botones de la tecla “Alt + F11”, que lo ayudarán a acceder a la ventana del editor de VBA.
  3. En la ventana emergente "Microsoft Visual Basic para Aplicaciones", puede buscar y hacer doble clic en el proyecto "ThisOutlookSession" en el lado izquierdo.
  4. A continuación, en la ventana abierta del proyecto "ThisOutlookSession", debe copiar los siguientes códigos VBA en ella.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim SentFolder As Folder
    Dim desFolder As Folder
 
    If TypeName(Item) = "MailItem" And Item.DeleteAfterSubmit = False Then
       'Specify the sent emails
       If InStr(Item.To, "shirley") > 0 Or InStr(LCase(Item.Subject), "test") > 0 Then
          'Specify the folder for saving the sent emails
          'You can change it as per your needs
          Set SentFolder = Application.Session.GetDefaultFolder(olFolderSentMail)
          Set desFolder = SentFolder.Folders("Test")
          Set Item.SaveSentMessageFolder = desFolder
       End If
    End If
End Sub

Códigos VBA: guardado automático de correos electrónicos enviados específicos en una carpeta específica

  1. Posteriormente, debe firmar este código y ajustar su nivel de macro de Outlook a bajo.
  2. Finalmente, puede salir de la ventana actual. A partir de ahora, los correos electrónicos enviados específicos se guardarán automáticamente en la carpeta de correo especificada.

Consejo adicional: muestre el cuadro de diálogo "Seleccionar carpeta" al enviar

Hay algunas personas a las que les gustaría seleccionar manualmente la carpeta de correo para guardar los correos electrónicos enviados. Pero ir siempre a la pestaña "Opciones" para seleccionar la carpeta será complicado. En este caso, desean que Outlook pueda mostrar automáticamente el cuadro de diálogo "Seleccionar carpeta" al enviar. En respuesta a este requisito, aquí hay otros códigos VBA. Puede copiarlo al proyecto "ThisOutlookSession".

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim desFolder As Folder
 
    If TypeName(Item) = "MailItem" And Item.DeleteAfterSubmit = False Then
       'specify the email
       If InStr(Item.To, "shirley") > 0 Or InStr(LCase(Item.Subject), "test") > 0 Then
          'Display the “Select Folder” dialog box
          Set desFolder = Application.Session.PickFolder
          Set Item.SaveSentMessageFolder = desFolder
       End If
    End If
End Sub

Códigos VBA: muestra automáticamente el cuadro de diálogo "Seleccionar carpeta" al enviar

A partir de ahora, cada vez que termine un correo electrónico y haga clic en el botón "Enviado", el cuadro de diálogo "Seleccionar carpeta" aparecerá automáticamente, como la imagen de abajo. En ese momento, puede especificar la carpeta para guardar el correo electrónico enviado actual.Cuadro de diálogo Seleccionar carpeta

Reparar Outlook

Outlook recibe muchos elogios por sus múltiples funciones. Sin embargo, debido a la riqueza de funciones, Outlook es bastante vulnerable. Además, el correo electrónico malicioso es una de las amenazas más potenciales para los datos de Outlook. Por lo tanto, como usuarios habituales de Outlook, es mejor que consigan un proveedor de confianza. Herramienta de corrección de correo de Outlook PSTdel ADN, tales como los DataNumen Outlook Repair. De este modo, puede resolver rápidamente varios errores de Outlook y mantener sus datos de Outlook bien protegidos.

Introducción del autor:

Shirley Zhang es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo reparar corrompido SQL Server mdf y productos de software de reparación de Outlook. Para más información visite www.datanumen.com

Comparte ahora:

Los comentarios están cerrados.