Macro quetsions

Status
Not open for further replies.

D.Moore

Senior Member
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
Hi!

I would like to ask your kind help on a VBA macro problem.

I would like to achieve the following 4 tasks:

1. When I send a message in Outlook, a form pops-up requesting to select the folder, where I want to move save/move the message instead of the Sent Items folder.
2. When the message contains my own name (typically happen when I push REPLY ALL), remove it.
3. When a message arrives with attachment, check all attachments of the message and if the name of the attachment is "ATT*.txt" or "ATT*.htm" , remove these attachments, but only these.
4. Add an extra button to the form pops-up (nr.1 point above). When this button pushed (instead of selecting a folder or cancel button), then the message is moved to the Draft folder, INSTEAD of being sent.

I was able to put together a working code, which accomplish nr. 1 and 2 task successfully, but I am unable to accomplish the nr. 3 and 4 tasks. Here is the code below.

May I ask your kind help to modify it to be able to achieve nr. 3 and 4 too?


Many thanks for your time and support,

Moore

The code:

VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "ThisOutlookSession"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
'myInspector
Option Explicit

Dim WithEvents oAppInspectors As Outlook.Inspectors
Attribute oAppInspectors.VB_VarHelpID = -1
Dim WithEvents oMailInspector As Outlook.Inspector
Attribute oMailInspector.VB_VarHelpID = -1
Dim WithEvents oOpenMail As Outlook.MailItem
Attribute oOpenMail.VB_VarHelpID = -1
Private Sub Application_Startup()
Set oAppInspectors = Application.Inspectors
End Sub

Private Sub Application_Quit()

End Sub


Private Sub oAppInspectors_NewInspector(ByVal Inspector As Inspector)

'Ha nem uj email ablakk akkor exit
If Inspector.CurrentItem.Class <> olMail Then
Exit Sub
End If

Set oOpenMail = Inspector.CurrentItem
Set oMailInspector = Inspector
End Sub

Private Sub oOpenMail_Open(Cancel As Boolean)

'Ha van saját email a To/Cc-ben akkor kiszedi !
Dim i As Integer
Dim deli As Integer
deli = 0
For i = 1 To oOpenMail.Recipients.Count
If oOpenMail.Recipients.Item(i).Name = "!" Then
deli = i
End If
Next

If deli <> 0 Then
oOpenMail.Recipients.Remove (deli)
End If

'Berakja a From mezõbe a megfelelõ emailcím
'On Error Resume Next
'oOpenMail.SentOnBehalfOfName = "Fitness Trade - Bakos András"
'oOpenMail.BCC = " "
'On Error GoTo 0
End Sub

Private Sub oOpenMail_Close(Cancel As Boolean)
Set oOpenMail = Nothing
End Sub

Private Sub Application_ItemSend(ByVal Item As Object, _
Cancel As Boolean)
Dim objNS As NameSpace
Dim objFolder As MAPIFolder
Set objNS = Application.GetNamespace("MAPI")
Set objFolder = objNS.PickFolder
If TypeName(objFolder) <> "Nothing" And _
IsInDefaultStore(objFolder) Then
Set Item.SaveSentMessageFolder = objFolder
End If
Set objFolder = Nothing
Set objNS = Nothing
End Sub

Public Function IsInDefaultStore(objOL As Object) As Boolean
Dim objApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim objInbox As Outlook.MAPIFolder
On Error Resume Next
Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
Select Case objOL.Class
Case olFolder
'If objOL.StoreID = objInbox.StoreID Then
IsInDefaultStore = True
'End If
Case olAppointment, olContact, olDistributionList, _
olJournal, olMail, olNote, olPost, olTask
If objOL.Parent.StoreID = objInbox.StoreID Then
IsInDefaultStore = True
End If
Case Else
MsgBox "This function isn't designed to work " & _
"with " & TypeName(objOL) & _
" items and will return False.", _
, "IsInDefaultStore"
End Select
Set objApp = Nothing
Set objNS = Nothing
Set objInbox = Nothing
End Function
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
#3 would use a run a script rule or an item add macro that checked the file name with an If then statement or case.
http://www.slipstick.com/developer/processing-incoming-e-mails-with-macros/ shows how to use an itemadd macro. You'll need to count the attachments then check each name, deleting the ones that match.
Sample to remove attachments here: http://www.slipstick.com/developer/remove-attachments-from-sent-messages/

#4 - saving it should add it to drafts, so you just need to bypass the send macro when the button is pushed.
 

D.Moore

Senior Member
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
Thank you for your reply!

#3 - I found these samples before I made my post, but I could not combined them and work it into my working code. Since I am not a programmer, I am trying hard but no success so far...

#4 - May I ask how can I add a new button to the form, an how can I associate the save to it?

Terribly sorry to ask so amateur questions, but the reason I ask for help, as I "could not put it together".

BIG thank you and have a lovely day!

Moore
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
I'm on the road so i probably wont get to this until i get back monday (its hard to code on my tiny ultrabook).

You are using just the folder picker from what i can see - so you can't add a button to it. Does it have a cancel button? I don't think we can capture it, but the send can be cancelled using it.
 

D.Moore

Senior Member
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
First of all BIG, BIG Thank You for your kind help in advance, and I am happy to wait, if you can be so kind to spend your time on me.

Yes, I use folder picker, as that was the "limit" my knowledge was able to handle based on what i could understand from VBA. It do has a Cancel button, but that's needed, as when I dont want to move the message to any older, I just push cancel and the message placed as normal into the Sent Items folder, so thats why I was hoping to add an extra button. It seems than we need to do it with a self-created form or so?

The other important thing is, that I was trying to add this and the specific attachment removal (with "*" to ensure it covers all mutations of the attachment) it into my code, to ensure it is run as a VBA script, and it is not triggered by a Sent items rule, as I found that very unreliable, but it might just my assumption.

BIG BIG BIG thank you and have a lovely weekend!
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
The attachment removal will be on incoming messages, so either a rule or itemadd script. Itemadd can handle messages at a faster pace but a rule can filter out messages easier.
 

D.Moore

Senior Member
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
I see! I would go to Itemadd, as it can be implemented into the existing code, but I fully trust your professional advise.
 

D.Moore

Senior Member
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
Hi Diane, may I hope if you had a chance to have a look at it? Not to hurry you, just to kindly ask. have a lovely day!
 

D.Moore

Senior Member
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
Dear Diane,

I was hoping to hear from you as Easter surprise, so I keep up the hope. :)

Have a lovely holidays!

Moore
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Sorry, I took the entire weekend off - never looked at email or forums for 48 hours - a record. :)

Try this itemadd macro - it's a combination of the macros at the two plinks i posted. It checks for the first 3 letters of ATT - it is case sensitive so if someone sends you an attachment named attachment.docx, it won't be removed but if they call it ATTACHMENT.docx, it will be removed. It could be refined to check for the extensions too.

Code:
Option Explicit
Private objNS As Outlook.NameSpace
Private WithEvents objNewMailItems As Outlook.Items
 
Private Sub Application_Startup()
 
Dim objMyInbox As Outlook.MAPIFolder
 
Set objNS = Application.GetNamespace("MAPI")
Set objMyInbox = objNS.GetDefaultFolder(olFolderInbox)
Set objNewMailItems = objMyInbox.Items
Set objMyInbox = Nothing
End Sub

Private Sub objNewMailItems_ItemAdd(ByVal Item As Object)
  Dim myAttachments  As Attachments
  Dim lngAttachmentCount  As Long
  Dim i As Long
Set myAttachments = Item.Attachments
  lngAttachmentCount = myAttachments.Count
If lngAttachmentCount = 0 Then Exit Sub

  ' Loop through attachments until attachment count = 0.
  For i = lngAttachmentCount To 1 Step -1
  If Left(myAttachments(i).FileName, 3) = "ATT" Then
  myAttachments(i).Delete
  End If
  Next i
  Item.Save

End Sub
 

D.Moore

Senior Member
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
Yeah, I know how it is, when you get away feom the veryday rush. I hope you had a nice Easter?

Thank you for the code, it is amzing, BIG BIG BIG THANKS!!! Since the attachment is aways AT<different amount of zerros>, I can safely say AT000 and at000 can cover them all. Can I make it case insensitive somehow?

Also, I was tried to combine into my original code as I only can import 1 code to Outlook to execute. Could you tell me please how could I add it into my code to make it work? This vba so "foreign" for me. With other words, I fee I am an idiot...

Many many thanks,

Moore
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Case insensitive, use:
If Left(lcase(myAttachments(i).FileName), 3) = "att" Then

This is the only itemadd macro, so you just need to merge the declarations and the app startup:
put this at the top:
Private objNS As Outlook.NameSpace
Private WithEvents objNewMailItems As Outlook.Items


This goes in the app startup:
Dim objMyInbox As Outlook.MAPIFolder
Set objNS = Application.GetNamespace("MAPI")
Set objMyInbox = objNS.GetDefaultFolder(olFolderInbox)
Set objNewMailItems = objMyInbox.Items
Set objMyInbox = Nothing
 

D.Moore

Senior Member
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
Dear Diane,

Big big thank you for your reply.

Unfortunately, thanks to Murphy's law , my computer broke down, so I need to wait for the replacement. They told me it takes between 1-3 weeks.

As soon as I get it, first thing, I will try to make this work based on your instruction!

In the meantime I was trying to to do what you had been told me in your last post, and merge all the codes into one loadable. In paper it looks like this, please correct me if I am wrong:

Code:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "ThisOutlookSession"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
'myInspector
Option Explicit

Dim WithEvents oAppInspectors As Outlook.Inspectors
Attribute oAppInspectors.VB_VarHelpID = -1
Dim WithEvents oMailInspector As Outlook.Inspector
Attribute oMailInspector.VB_VarHelpID = -1
Dim WithEvents oOpenMail As Outlook.MailItem
Attribute oOpenMail.VB_VarHelpID = -1
Private Sub Application_Startup()
Set oAppInspectors = Application.Inspectors
End Sub

Private Sub Application_Quit()

End Sub

Private Sub oAppInspectors_NewInspector(ByVal Inspector As Inspector)

If Inspector.CurrentItem.Class <> olMail Then
Exit Sub
End If

Set oOpenMail = Inspector.CurrentItem
Set oMailInspector = Inspector
End Sub

Private Sub oOpenMail_Open(Cancel As Boolean)

Dim i As Integer
Dim deli As Integer
deli = 0
For i = 1 To oOpenMail.Recipients.Count
If oOpenMail.Recipients.Item(i).Name = "!" Then
deli = i
End If
Next

If deli <> 0 Then
oOpenMail.Recipients.Remove (deli)
End If

'On Error Resume Next
'oOpenMail.SentOnBehalfOfName = "!!"
'oOpenMail.BCC = " "
'On Error GoTo 0
End Sub

Private Sub oOpenMail_Close(Cancel As Boolean)
Set oOpenMail = Nothing
End Sub

Private Sub Application_ItemSend(ByVal Item As Object, _
Cancel As Boolean)
Dim objNS As NameSpace
Dim objFolder As MAPIFolder
Set objNS = Application.GetNamespace("MAPI")
Set objFolder = objNS.PickFolder
If TypeName(objFolder) <> "Nothing" And _
IsInDefaultStore(objFolder) Then
Set Item.SaveSentMessageFolder = objFolder
End If
Set objFolder = Nothing
Set objNS = Nothing
End Sub

Public Function IsInDefaultStore(objOL As Object) As Boolean
Dim objApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim objInbox As Outlook.MAPIFolder
On Error Resume Next
Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
Select Case objOL.Class
Case olFolder
'If objOL.StoreID = objInbox.StoreID Then
IsInDefaultStore = True
'End If
Case olAppointment, olContact, olDistributionList, _
olJournal, olMail, olNote, olPost, olTask
If objOL.Parent.StoreID = objInbox.StoreID Then
IsInDefaultStore = True
End If
Case Else
MsgBox "This function isn't designed to work " & _
"with " & TypeName(objOL) & _
" items and will return False.", _
, "IsInDefaultStore"
End Select
Set objApp = Nothing
Set objNS = Nothing
Set objInbox = Nothing
End Function

Option Explicit
Private objNS As Outlook.NameSpace
Private WithEvents objNewMailItems As Outlook.Items

Private Sub Application_Startup()
Dim objMyInbox As Outlook.MAPIFolder
Set objNS = Application.GetNamespace("MAPI")
Set objMyInbox = objNS.GetDefaultFolder(olFolderInbox)
Set objNewMailItems = objMyInbox.Items
Set objMyInbox = NothingDim objMyInbox As Outlook.MAPIFolder
End Sub

Private Sub objNewMailItems_ItemAdd(ByVal Item As Object)
  Dim myAttachments  As Attachments
  Dim lngAttachmentCount  As Long
  Dim i As Long
Set myAttachments = Item.Attachments
  lngAttachmentCount = myAttachments.Count
If lngAttachmentCount = 0 Then Exit Sub

  ' Loop through attachments until attachment count = 0.
  For i = lngAttachmentCount To 1 Step -1
  If Left(lcase(myAttachments(i).FileName), 3) = "att" Then 
  myAttachments(i).Delete
  End If
  Next i
  Item.Save
End Sub
So, does it look all good? My target is to save it as: "ThisOutlookSession.cls" and load into my outlook VBA as the major script as soon as I get my computer repaired.

BIG BIG BIG BIG Thank you,

Moore
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
you have this:
Private Sub Application_Startup()
Set oAppInspectors = Application.Inspectors
End Sub


it needs to be

Private Sub Application_Startup()
Set oAppInspectors = Application.Inspectors
Dim objMyInbox As Outlook.MAPIFolder
Set objNS = Application.GetNamespace("MAPI")
Set objMyInbox = objNS.GetDefaultFolder(olFolderInbox)
Set objNewMailItems = objMyInbox.Items
Set objMyInbox = Nothing
End Sub
 

D.Moore

Senior Member
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
Dear Diane,

I did the correction:

Code:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "ThisOutlookSession"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
'myInspector
Option Explicit

Dim WithEvents oAppInspectors As Outlook.Inspectors
Attribute oAppInspectors.VB_VarHelpID = -1
Dim WithEvents oMailInspector As Outlook.Inspector
Attribute oMailInspector.VB_VarHelpID = -1
Dim WithEvents oOpenMail As Outlook.MailItem
Attribute oOpenMail.VB_VarHelpID = -1
Private Sub Application_Startup()
Set oAppInspectors = Application.Inspectors
Dim objMyInbox As Outlook.MAPIFolder
Set objNS = Application.GetNamespace("MAPI")
Set objMyInbox = objNS.GetDefaultFolder(olFolderInbox)
Set objNewMailItems = objMyInbox.Items
Set objMyInbox = Nothing
End Sub

Private Sub Application_Quit()

End Sub

Private Sub oAppInspectors_NewInspector(ByVal Inspector As Inspector)

If Inspector.CurrentItem.Class <> olMail Then
Exit Sub
End If

Set oOpenMail = Inspector.CurrentItem
Set oMailInspector = Inspector
End Sub

Private Sub oOpenMail_Open(Cancel As Boolean)

Dim i As Integer
Dim deli As Integer
deli = 0
For i = 1 To oOpenMail.Recipients.Count
If oOpenMail.Recipients.Item(i).Name = "!" Then
deli = i
End If
Next

If deli <> 0 Then
oOpenMail.Recipients.Remove (deli)
End If

'On Error Resume Next
'oOpenMail.SentOnBehalfOfName = "!!"
'oOpenMail.BCC = " "
'On Error GoTo 0
End Sub

Private Sub oOpenMail_Close(Cancel As Boolean)
Set oOpenMail = Nothing
End Sub

Private Sub Application_ItemSend(ByVal Item As Object, _
Cancel As Boolean)
Dim objNS As NameSpace
Dim objFolder As MAPIFolder
Set objNS = Application.GetNamespace("MAPI")
Set objFolder = objNS.PickFolder
If TypeName(objFolder) <> "Nothing" And _
IsInDefaultStore(objFolder) Then
Set Item.SaveSentMessageFolder = objFolder
End If
Set objFolder = Nothing
Set objNS = Nothing
End Sub

Public Function IsInDefaultStore(objOL As Object) As Boolean
Dim objApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim objInbox As Outlook.MAPIFolder
On Error Resume Next
Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
Select Case objOL.Class
Case olFolder
'If objOL.StoreID = objInbox.StoreID Then
IsInDefaultStore = True
'End If
Case olAppointment, olContact, olDistributionList, _
olJournal, olMail, olNote, olPost, olTask
If objOL.Parent.StoreID = objInbox.StoreID Then
IsInDefaultStore = True
End If
Case Else
MsgBox "This function isn't designed to work " & _
"with " & TypeName(objOL) & _
" items and will return False.", _
, "IsInDefaultStore"
End Select
Set objApp = Nothing
Set objNS = Nothing
Set objInbox = Nothing
End Function

Option Explicit
Private objNS As Outlook.NameSpace
Private WithEvents objNewMailItems As Outlook.Items

Private Sub Application_Startup()
Dim objMyInbox As Outlook.MAPIFolder
Set objNS = Application.GetNamespace("MAPI")
Set objMyInbox = objNS.GetDefaultFolder(olFolderInbox)
Set objNewMailItems = objMyInbox.Items
Set objMyInbox = NothingDim objMyInbox As Outlook.MAPIFolder
End Sub

Private Sub objNewMailItems_ItemAdd(ByVal Item As Object)
  Dim myAttachments  As Attachments
  Dim lngAttachmentCount  As Long
  Dim i As Long
Set myAttachments = Item.Attachments
  lngAttachmentCount = myAttachments.Count
If lngAttachmentCount = 0 Then Exit Sub

  ' Loop through attachments until attachment count = 0.
  For i = lngAttachmentCount To 1 Step -1
  If Left(lcase(myAttachments(i).FileName), 3) = "att" Then
  myAttachments(i).Delete
  End If
  Next i
  Item.Save
End Sub
I am saving this, and trying out, and report you the result.

BIG BIG THANK YOU!

Moore
 

D.Moore

Senior Member
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
Dear Diane,

I was able to import the code in my last post as CLS (attached to this post too ZIPed), but it fails with the following error:

0010.png
 

Attachments

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
First thing I see is that option explicit and the other two lines should be at the top. I always put the application_startup macro at the top too, just under the declarations.
 

D.Moore

Senior Member
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
Dear Diane,

Problem is, that I am so bad in VBA, that I am lost in completely. I swear I tried, but I failed miserably. I am trying to accomplish this task only for my private use, and I do not have real programming knowledge.

I know I am asking a lot here, but would it be any chance to check the attached CLS file for me?

Many Thanks with hope,

Moore
 

Attachments

D.Moore

Senior Member
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
Dear Diane,

You are a magician, indeed it did not throw any error when I loaded it!

Allow me to ask 2 questions on what I am experiencing:

When the email going into the INBOX, it shows a message box:
0014.png

After I push the OK, it process the message and remove the "ATT*" attachment perfectly

BUT

1. how can I avoid this messagebox from appearing?
2. Also, when the email goes into any other subfolder (by email rule) it is not removing the "ATT*" attachment, so it seems it is only processing the Inbox. How can I process when an email arrive to an other subfolder?

Many Thanks,

Andras
 
Status
Not open for further replies.
Thread starter Similar threads Forum Replies Date
U Macro for reminders,tasks,calendar Outlook VBA and Custom Forms 4
V macro runs slower on startup than after Outlook VBA and Custom Forms 3
N Macro to move all recipients to CC while replying Outlook VBA and Custom Forms 0
A VBA macro for 15 second loop in send and received just for 1 specific mailbox Outlook VBA and Custom Forms 1
G VBA Macro Calendar Printing Assistant 3
R Help Revising VBA macro to delete email over different time span Outlook VBA and Custom Forms 0
M Outlook macro to automate search and forward process Outlook VBA and Custom Forms 6
R Macro Schedule every day in Outlook Using Outlook 0
L Moving emails with similar subject and find the timings between the emails using outlook VBA macro Outlook VBA and Custom Forms 1
Healy Consultants Macro to remove inside organization distribution list email address when reply to all recepients Outlook VBA and Custom Forms 0
geofferyh Cannot get Macro to SAVE more than one message attachment??? Outlook VBA and Custom Forms 5
N How can I increase/faster outlook VBA Macro Speed ? Using Outlook 2
4 Macro to set the category of Deleted Item? Outlook VBA and Custom Forms 2
D.Moore Folder view settings by VBA macro Outlook VBA and Custom Forms 57
A Outlook macro to create search folder with mail categories as criteria Outlook VBA and Custom Forms 3
Dave A Run macro on existing appointment when it changes Outlook VBA and Custom Forms 1
V Outlook Macro to show Flagged messages Outlook VBA and Custom Forms 2
O Run macro automatically at sending an email Using Outlook 11
R Retain Original Message When Forwarding With Macro Outlook VBA and Custom Forms 3
C Macro to add multiple recipients to message Outlook VBA and Custom Forms 3
B Reply and replyall macro is not working Outlook VBA and Custom Forms 1
O Macro - paste as plain text Outlook VBA and Custom Forms 2
J Help Please!!! Outlook 2016 - VBA Macro for replying with attachment in meeting invite Outlook VBA and Custom Forms 9
witzker Macro to set contact reminder to next day 9:00 Outlook VBA and Custom Forms 45
M Adding Macro to populate "to" "subject" "body" not deleting email string below. Outlook VBA and Custom Forms 5
E Copying data from e-mail attachement to EXCEL file via macro Outlook VBA and Custom Forms 38
M Macro to add date/time stamp to subject Outlook VBA and Custom Forms 4
R VBA macro - new message Outlook VBA and Custom Forms 3
S Example VBA Macro - To Conditionally Change the From Account and Add a BCC Address on Emails Outlook VBA and Custom Forms 11
S Macro using .SendUsingAccount only works the first time, after starting Outlook Outlook VBA and Custom Forms 4
S VBA Macro - Run-time error '424': object required - Help Please Outlook VBA and Custom Forms 3
B VBA Macro for assigning multiple Categories to an email in my Inbox Outlook VBA and Custom Forms 1
N Macro for attachment saved and combine Outlook VBA and Custom Forms 1
Sabastian Samuel HOW DO I FORWARD AN EMAIL WITH MACRO using an email that in the body of another email Outlook VBA and Custom Forms 3
C Search with Google Macro? Outlook VBA and Custom Forms 4
J Outlook 2013 Extract Flag Completed dates to Excel Macro Outlook VBA and Custom Forms 16
M Slow VBA macro in Outlook Outlook VBA and Custom Forms 5
D Print Attachments only in selected emails using a macro Outlook VBA and Custom Forms 3
M Macro for attachments download adjustment Outlook VBA and Custom Forms 3
M VBA macro for Inbox's attachments search Outlook VBA and Custom Forms 0
B Macro to manually move selected emails to network folder Outlook VBA and Custom Forms 1
A Forward Outlook Email by Filtering using Macro Rule Outlook VBA and Custom Forms 44
I Dialog called up multiple times when saving emails from macro Outlook VBA and Custom Forms 2
Y VBA Macro to highlight some Keyword in mail body? Outlook VBA and Custom Forms 3
Tanja Östrand Outlook 2016 - Create Macro button to add text in Subject Outlook VBA and Custom Forms 1
D Outlook macro with today's date in subject and paste clipboard in body Outlook VBA and Custom Forms 1
nathandavies Email Details to Excel & Save as .MSG on one macro - combination of 2 macros Outlook VBA and Custom Forms 3
C Outlook Subject Line Macro Outlook VBA and Custom Forms 0
B Automation error running VB macro code Outlook VBA and Custom Forms 8
J Is this possible to do with a macro? Outlook VBA and Custom Forms 17
Similar threads


















































Top