“Is there any way I can set up a warning (or possibly limit) on the size of file I can email? I’m guilty of accidentally sending 13mb files.”
Sure, you can use VBA to warn you.
A very basic warning uses this simple code:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If Item.Attachments.Count > 0 Then
ans = MsgBox("Is the attachment too big?", vbYesNo)
If ans = vbYes Then Cancel = True
End If
End Sub
This simple procedure checks for the presence of attachments and asks if the attachments are too large. While this is fine if you don’t send a lot of attachments, it would be even better if you were alerted only when the message size was too large.
Better VBA
Outlook MVP Michael Bauer offers this procedure that checks for the presence of attachments and if any are found, it checks the message size. When the message exceeds the Max_item_size you configured, a warning dialog pops up.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If TypeOf Item Is Outlook.MailItem Then
Cancel = Not (ConfirmBigAttachments(Item))
End If
End Sub
Private Function ConfirmBigAttachments(oMail As Outlook.MailItem) As Boolean
' by Michael Bauer http://www.vboffice.net
Dim lSize As Long
Const MAX_ITEM_SIZE As Long = 1048576 ' in Bytes. This is 1 MB
Dim bSend As Boolean
bSend = True
If oMail.Attachments.Count Then
lSize = oMail.Size
If lSize > MAX_ITEM_SIZE Then
bSend = (MsgBox("Item's size: " & lSize & " Byte. Cancel?", vbYesNo) = vbNo)
End If
End If
ConfirmBigAttachments = bSend
End Function
How to Use
To use either of these code samples with Outlook, open the VBA editor (Alt+F11) then copy and paste the code into ThisOutlookSession. The max_item_size is set for 1 megabyte but can be changed to any number. Save it and every time you send a message, the ItemSend procedure will run.
If you need help converting megabytes to bytes, go to google and type “x megabyte in bytes” into the search field, where x is the number you need to convert.

