El siguiente script es una modificación del script publicado en el articulo Guardar Cuerpo de Correo Entrante en Archivo de Texto (TXT) Outlook, esta modificación al script realiza lo siguiente: Guarda los correos que seleccionemos previamente cada uno en un archivo TXT en una carpeta que indiquemos.
Instrucciones de Uso
1.- Abrir el editor de Visual Basic (ALT+F11).
2.- Insertar un modulo nuevo (Insert > Module).
3.- Copiar el código VBScript.
4.- En la linea 10 debemos especificar la ruta donde se guardaran los archivos (Esta carpeta la creamos manualmente).
Para mas información de configuración ver: Como utilizar el Editor VBA en Office (Utilizar Macros VBScript) y Outlook – Crear y configurar reglas
Codigo
Sub saveSelectedEmailToTXT() Dim objItem As Outlook.MailItem Dim sSubject As String Dim dDate As Date Dim iCount As Integer For Each objItem In ActiveExplorer.Selection 'Set objItem = Application.ActiveExplorer.Selection.Item(1) sSubject = objItem.Subject ReplaceIllegalChars sSubject, "-" dDate = objItem.ReceivedTime objItem.SaveAs "C:1-Tests" & sSubject & ".txt", olSaveAsText Next End Sub Private Sub ReplaceIllegalChars(sSubject As String, sChr As String) sSubject = Replace(sSubject, "/", sChr) sSubject = Replace(sSubject, "", sChr) sSubject = Replace(sSubject, ":", sChr) sSubject = Replace(sSubject, "?", sChr) sSubject = Replace(sSubject, Chr(34), sChr) sSubject = Replace(sSubject, "", sChr) sSubject = Replace(sSubject, "|", sChr) sSubject = Replace(sSubject, "*", sChr) End Sub
Buen dia
Puedes verificar si existe el archivo:
C:WindowsSysWOW64vbscript.dll
Y verificar si tienes marcado Microsoft VBScript Regular Expressions 5.5 en la consola de Visual Basic de Outlook Herramientas >> Referencias .
Al igual si me puedes hacer referencia al articulo que mencionas del registro tenemos tres el cual aplicamos esto.
Saludos.
Hola, Excelente información. Estoy corriendo Office 2016 32 Bits. La carpeta del REGEDIT la cree manual, ya que no me salía. He creado el script pero siempre me dice “Error de compilación de Microsoft VBScript” con todos los script y el resultado es el mismo. Espero me pueda ayudar.
Buen dia Hugo,
Este VBScript no hace merge a los correos en uno mismo, es por eso que te remplaza el archivo por el ultimo seleccionado con el mismo asunto, ocupas insertar algo para que lo diferencie (contador) si lo deseas en diferente archivo.
La opción que te proporcione el dia de ayer dando respuesta a tu consulta via correo electronico si realiza merge y los guarda en el mismo aun cuando tiene el mismo asunto.
Saludos.
No funciona ya lo intente y nada solo me trae
De: correo@correo.com
Enviado el: martes, 07 de marzo de 2017 05:10 PM
Para: correo@correo.com
Asunto: Formulario de participación
Teniendo en cuenta que todos los email de esa carpeta tienen el mismo asunto
Buen dia Hugo
Modifique el código para que guarde todos los correos seleccionados, de igual forma puedes ver: VBScript – Guardar Todos los Correos de la Carpeta Seleccionada a TXT Outlook ya que se facilitaría por ser tantos correos.
Saludos.
Hola buenas tardes, estoy tratando de usar tus scripts, para guardar los cuerpos de los mensajes en un txt pero lo he intentado con la opcion de seleccion y carpeta, el resultado me gusrda un solo mensaje de los 600 que tengo…
Los correos pertenecen a un evento estos datos debo ingresarlos a un excel en columnas
Un nuevo registro ha sido enviado
* Nombres: Nombre del competidor
* Documento: 00000000000
* Vuelo #: American 0000
* Ciudad: Bogotá
* Fecha de Salida: 31 de marzo de 2017
* Fecha de Regreso: 3 de abril de 2017
* Nombre de Hotel : Hotel
* Telefono: 0000000000
* Email: email@gmail.com
Buenos días.
Tengo un problema con este código. ¿Dónde le digo que ejecute saveSelectedEmailToTXT?
Gracias.
Un saludo