11/1/2009 20:35 El Bruno

[Outlook] Macro para mover las confirmaciones de lectura a una carpeta determinada

Buenas,

aquellos que trabajan conmigo saben que soy bastante molesto con los correos electrónicos ya que siempre los envío con confirmación de envío y de lectura. Esto que molesta bastante, personalmente me permite (cuando el destinatario lo permite) tener un seguimiento de mis correos.

El problema con este tipo de trabajo es que cuando trabajas con listas grandes de entrega, puedes llegar a tener en un mismo día cerca de 6000 confirmaciones de lectura (caso típico en la comunidades de Avanade, donde hay cerca de 6000 personas inscriptas).

Es por esto que esta pequeña macro me permite mover las confirmaciones de lectura de una forma automática a una carpeta personalizada.

 

   1:  Public Sub MoveReadItemsToFolder()
   2:   
   3:      Dim outApp As Outlook.Application
   4:      Dim inboxFolder As Outlook.MAPIFolder
   5:      Dim readFolder As Outlook.MAPIFolder
   6:      Dim colFolders As Outlook.Folders
   7:      Dim inboxItem As Object
   8:      Dim mailItem As Outlook.mailItem
   9:      Dim entryID As String
  10:      Dim movedCount As Integer
  11:      
  12:      Set outApp = CreateObject("outlook.application")
  13:      Set colFolders = outApp.GetNamespace("MAPI").Folders
  14:      Set inboxFolder = outApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
  15:      Set readFolder = outApp.GetNamespace("MAPI").GetFolderFromID("000000003DF78CBAA12BFC409EBC02451E577D88A2830000")
  16:      
  17:      For Each inboxItem In inboxFolder.Items
  18:          Dim messageClass As String
  19:          messageClass = LCase(inboxItem.messageClass)
  20:          If messageClass = "report.ipm.note.dr" Or _
  21:              messageClass = "report.ipm.note.ipnrn" Or _
  22:              messageClass = "report.ipm.schedule.meeting.resp.pos.dr" Or _
  23:              messageClass = "report.ipm.schedule.meeting.resp.tent.dr" Or _
  24:              messageClass = "report.ipm.note.ipnnrn" Or _
  25:              messageClass = "report.ipm.note.expanded.dr" Then
  26:              
  27:              ' move to read folder
  28:              inboxItem.Move readFolder
  29:              movedCount = movedCount + 1
  30:              
  31:          End If
  32:      Next
  33:      
  34:      Set inboxItem = Nothing
  35:      Set inboxFolder = Nothing
  36:      Set readFolder = Nothing
  37:      Set colFolders = Nothing
  38:      Set outApp = Nothing
  39:      
  40:      MsgBox "Se han movido [" & movedCount & "] elementos a la carpeta [Leidos]"
  41:      
  42:  End Sub

Estos son los pasos para agregar esta macro en Outlook

1. Presionar Alt+F11 y dentro del editor de Macros pegar el código de la Macro (con el ID de la carpeta a la que se quieren mover los elementos)

2. Una vez agregada la macro, podemos agregar un boton en Outlook que nos permita invocar a la macro directamente.

3. Dentro de la barra de herramientas de Outlook, desplegamos el menú contextual y seleccionamos la opción [Customize]

4. Dentro del formulario de personalización seleccionamos la pestaña [Commands] y el submenú [Macros].

5. Seleccionamos la macro y la arrastramos el botón correspondiente de nuestra macro a la toolbar.

6. En este punto tenemos el boton configurado; pero sin embargo es un poco incómodo el texto con el que ha quedado. Para modificarlo, sobre el boton desplegamos el menú contextual y modificamos la propiedad [Name] del mismo

 

7. Done !!!

 

Saludos @ Home

El Bruno

Crossposting from ElBruno.com
Archivado en:
Comparte este post:

# re: [Outlook] Macro para mover las confirmaciones de lectura a una carpeta determinada

Monday, January 12, 2009 1:50 PM by Juan Irigoyen

También podrias hacerlo de forma automática utilizando la opción "Rules and alerts", a través del contenido del mensaje, esto te permitiria clasificarlo en varias carpetas sin son muchos los mensajes.

Saludos.

# re: [Outlook] Macro para mover las confirmaciones de lectura a una carpeta determinada

Monday, January 12, 2009 4:57 PM by franes

como dice Juan,  con reglas y alertas se podria haber arreglado el problema ( es como lo tengo yo en los ordenadores de la empresa ) , nunca pensé que a alguien se le ocurriria hacerlo de otra forma

:-)

un saludo

# re: [Outlook] Macro para mover las confirmaciones de lectura a una carpeta determinada

Monday, January 12, 2009 7:09 PM by El Bruno

Juan, Fran ... pues efectivamente esta "regla" comenzó siendo una regla de Outlook, pero después de empezar a tener muchas excepciones (acuse de lectura en varios idiomas, textos incomprensibles, etc) me pasé al fabuloso mundo de las macros.

Además nunca hay que subestimar el poder del aburrimiento !!!

Saludos

# re: [Outlook] Macro para mover las confirmaciones de lectura a una carpeta determinada

Tuesday, January 13, 2009 11:05 AM by ikerib

Como obtengo el ID de la carpeta?

Nosotros emos creado otro macro que usado con la agenda del outlook nos sale un formulario, añadimos unos datos y estos se insertan en Eurowin. Todo por no abrir el Eurowin y hacerlo desde alli :-)

# [Outlook] Macro para mostrar el EntryId y StoreID de los directorios en Outlook

Tuesday, January 13, 2009 5:27 PM by El Bruno

Buenas, hace unos días escribí un post con una macro para mover las confirmaciones de lectura a un directorio

# re: [Outlook] Macro para mover las confirmaciones de lectura a una carpeta determinada

Tuesday, June 21, 2011 1:42 PM by manuel

Buenos dias,

si quisieras que ese boton estuviera incrustado en el correo y enviara una confirmacion de lectura al usuario que tu le indiques?

Podria ser parecido?

Gracias, un saludo.