Macro doesn't recognize local mails from colleagues

Status
Not open for further replies.

kko

New Member
Outlook version
Outlook 2013 64 bit
Email Account
Exchange Server
Hi,

I copied a save all attachment vba script and was able to modify the script to do what I want. However, because we are using an exchange server... this script is unable to grab the attachments my colleague send me - only external emails. Can anyone please help?

Thanks

Code:
Public Sub Save_Attach_To_Disk(itm As Outlook.MailItem)

If (itm.Attachments.Count >= 1) Then
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim objAtt As Outlook.Attachment

Dim dateFormat_file_name
dateFormat_file_name = Format(itm.ReceivedTime, "yyyy-mm-dd H-mm ")

Dim dateFormat_target_folder
dateFormat_target_folder = Format(itm.ReceivedTime, "yyyy-mm-dd")

Dim StrDomainName
StrDomainName = Right(itm.SenderEmailAddress, Len(itm.SenderEmailAddress) - InStr(1, itm.SenderEmailAddress, "@"))

''''''''''''''''''''''''''''''''''''''''''''
Dim Supplier_Folder As String
Supplier_Folder = "Z:\By Supplier" ' you can change the folder

Dim Date_Folder As String
Date_Folder = "Z:\By Date" ' you can change the folder
''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''
Dim saveFolder_Root2 As String
saveFolder_Root2 = Supplier_Folder & "\" & StrDomainName

Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FolderExists(saveFolder_Root2) Then
objFSO.CreateFolder (saveFolder_Root2)
End If
''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''
Dim saveFolder_ByDate As String
saveFolder_ByDate = Date_Folder & "\" & dateFormat_target_folder
If Not objFSO.FolderExists(saveFolder_ByDate) Then
objFSO.CreateFolder (saveFolder_ByDate)
End If
''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''
For Each objAtt In itm.Attachments
If (InStr(objAtt.DisplayName, ".PDF") Or InStr(objAtt.DisplayName, ".html") Or InStr(objAtt.DisplayName, ".msg") Or InStr(objAtt.DisplayName, ".htm")) Then
objAtt.SaveAsFile saveFolder_Root2 & "\" & dateFormat_file_name & " - " & objAtt.DisplayName
objAtt.SaveAsFile saveFolder_ByDate & "\" & dateFormat_file_name & " By " & StrDomainName & " - " & objAtt.DisplayName
End If
Set objAtt = Nothing
Next
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End If
End Sub
 

Michael Bauer

Senior Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
Did you check if the script is called at all for internal senders? If so, I guess the issue is due to strDomainName being invalid. The SenderEmailAddress doesn't have a @ for internal addresses, so strDomainName will hold the entire address, which could be too long, or have characters that aren't allowed for file names.

See the last procedure here, which replaces those invalid characters. Call it for instance
Code:
ReplaceCharsForFileName strDomainName, "_"
in order to replace each invalid char by a "_".
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
In rules, i use /ou to look for internal email - you can either check for /ou or @ using an if statement
if instr(1,senderemailaddress, "@") > 1 then
' use the strdomain code you use now
else
strdomainname = "work"
end if

If you want to file by alias, grabbing the user's alias can be as simple as finding the last /cn= and taking what is to the right but if you use Office365 (and possibly on newer on premise setups), it adds a guid before the alias you need the last hyphen and hope the person's alias does not use a hyphen.

This is from an Office 365 account:
/O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=43DFB970E3B54F85942D1348B58581E6-MARYC

This will get the addresses so you can see if it uses the alias or the guid-alias format
Code:
Public Sub Getx500Address()
    Dim objMail As Object
    Set objMail = Application.ActiveExplorer.Selection.Item(1)
    
     MsgBox objMail.SenderEmailAddress
 
Set objMail = Nothing
End Sub
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
V Macro to count flagged messages? Using Outlook 2
sophievldn Looking for a macro that moves completed items from subfolders to other subfolder Outlook VBA and Custom Forms 7
S Outlook Macro for [Date][Subject] Using Outlook 1
E Outlook - Macro - send list of Tasks which are not finished Outlook VBA and Custom Forms 3
E Macro to block senders domain Outlook VBA and Custom Forms 1
D VBA Macro to Print and Save email to network location Outlook VBA and Custom Forms 1
N VBA Macro To Save Emails Outlook VBA and Custom Forms 1
N Line to move origEmail to subfolder within a reply macro Outlook VBA and Custom Forms 0
witzker Outlook 2019 Macro to answer a mail with attachments Outlook VBA and Custom Forms 2
A Outlook 2016 Macro to Reply, ReplyAll, or Forward(but with composing new email) Outlook VBA and Custom Forms 0
J Macro to Insert a Calendar Outlook VBA and Custom Forms 8
W Macro to Filter Based on Latest Email Outlook VBA and Custom Forms 6
T Macro to move reply and original message to folder Outlook VBA and Custom Forms 6
D Autosort macro for items in a view Outlook VBA and Custom Forms 2
S HTML to Plain Text Macro - Help Outlook VBA and Custom Forms 1
A Macro to file emails into subfolder based on subject line Outlook VBA and Custom Forms 1
N Help creating a VBA macro with conditional formatting to change the font color of all external emails to red Outlook VBA and Custom Forms 5
S Visual indicator of a certain property or to show a macro toggle Outlook VBA and Custom Forms 2
L Modifying VBA script to delay running macro Outlook VBA and Custom Forms 3
S Macro to extract and modify links from emails Outlook VBA and Custom Forms 3
M Replyall macro with template and auto insert receptens Outlook VBA and Custom Forms 1
L Macro to add Date & Time etc to "drag to save" e-mails Outlook VBA and Custom Forms 17
S Macro for Loop through outlook unread emails Outlook VBA and Custom Forms 2
Globalforester ItemAdd Macro - multiple emails Outlook VBA and Custom Forms 3
S Macro to extract email addresses of recipients in current drafted email and put into clipboard Outlook VBA and Custom Forms 2
witzker HowTo start a macro with an Button in OL contact form Outlook VBA and Custom Forms 12
witzker Macro to move @domain.xx of a Spammail to Blacklist in Outlook 2019 Outlook VBA and Custom Forms 7
S Macro for other actions - Outlook 2007 Outlook VBA and Custom Forms 23
C Macro to extract sender name & subject line of incoming emails to single txt file Outlook VBA and Custom Forms 3
L Macro/VBA to Reply All, with the original attachments Outlook VBA and Custom Forms 2
S Macro to move “Re:” & “FWD:” email recieved the shared inbox to a subfolder in outlook Outlook VBA and Custom Forms 0
S Outlook Macro to send auto acknowledge mail only to new mails received to a specific shared inbox Outlook VBA and Custom Forms 0
S Outlook Macro to move reply mail based on the key word in the subjectline Outlook VBA and Custom Forms 0
Eike Move mails via macro triggered by the click of a button? Outlook VBA and Custom Forms 0
S Macro or plug-in to see if specific person was included in this email Outlook VBA and Custom Forms 4
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 Using Outlook 4
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

Similar threads

Top