Иногда, когда вы пересылаете электронное письмо, содержащее несколько вложений, вы можете захотеть переименовать вложения непосредственно при пересылке. Эта статья научит вас, как это сделать с помощью Outlook VBA.
По умолчанию Outlook не разрешает пользователю переименовывать вложения при пересылке. Поэтому, если вы хотите переименовать их, единственный способ — сначала сохранить файлы в локальную папку на вашем компьютере, затем переименовать их, а затем снова прикрепить к электронному письму для пересылки. Очевидно, что этот метод весьма проблематичен. Более того, иногда эти файлы могут быть для вас несущественными, поэтому сохранять их на свой компьютер очень не хочется. В этой ситуации вам нужен более быстрый способ, позволяющий переименовывать вложенные файлы непосредственно в пересылаемых электронных письмах. Ниже приведен подход к реализации этого с помощью Outlook VBA.
Переименуйте вложения при пересылке электронной почты
- Прежде всего, запустите Outlook и перейдите на вкладку «Разработчик».
- Затем найдите и нажмите кнопку «Visual Basic».
- После этого в новом всплывающем окне откройте новый модуль, выбрав «Вставить» > «Модуль».
- Затем вы должны скопировать и вставить в него следующие коды VBA.
Sub RenameAttachmentsWhenForwarding()
Dim olItem As MailItem
Dim Att As Attachment
Dim Atts As Attachments
Dim olForward As MailItem
Dim FWAtt As Attachment
Dim FWAtts As Attachments
Dim FSO As Object
Dim TempFPath As Object
Dim FilePath As String
Dim strName As String
Dim strExten As String
Dim strFile As String
Set olItem = Application.ActiveExplorer.Selection.Item(1)
Set Atts = olItem.Attachments
Set olForward = olItem.Forward
olForward.Display
On Error Resume Next
For Each Att In Atts
'Get the path to Temporary Folder
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TempFPath = FSO.GetSpecialFolder(2)
FilePath = TempFPath.Path & "\"
'Rename the attachments
strName = InputBox("Enter a new name for" & vbCrLf & Att.FileName)
'Change "4" based on the length of the attachment file extension
strExten = Right(Att.FileName, 4)
strFile = FilePath & strName & "." & strExten
If strName <> "" Then
'Save the attachments to the Temporary Folder
Att.SaveAsFile (strFile)
'Add the attachments saved in new names from the Temporary Folder
olForward.Attachments.Add (strFile)
Set FWAtts = olForward.Attachments
'Remove the original attachments
For Each FWAtt In FWAtts
If InStr(FWAtt.FileName, Att.FileName) > 0 Then
FWAtt.Delete
End If
Next
End If
Next
End Sub
- После этого вы можете выйти из текущего окна «Visual Basic» и продолжить добавление нового макроса на панель быстрого доступа, как обычно.
- Наконец-то можно попробовать.
- Сначала выберите электронное письмо, а затем нажмите кнопку нового макроса на панели быстрого доступа.
- Затем откроется новое письмо для переадресации. Вы можете увидеть вложенные файлы с оригинальными именами в строке «Прикрепленные», а также получить диалоговое окно, которое требует ввести новое имя для конкретного вложения.
- Указав новые имена для всех файлов и нажав «ОК», вы увидите, что все прикрепленные файлы находятся в новых именах.
- В конце концов вы можете составить пересылаемые электронные письма и нажать кнопку «Отправить», чтобы отправить сообщение.
Будьте в курсе всех потенциальных угроз для вашего Outlook
Признано, что Outlook подвержен повреждению. Таким образом, защита данных Outlook от всех угроз, включая заражение вирусами, атаки вредоносных программ и Повреждение данных Outlook PSTи т.д.ost важным действием является регулярное резервное копирование данных Outlook. Кроме того, разумно иметь поблизости первоклассный инструмент для ремонта, например DataNumen Outlook Repair, что пригодится.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая отремонтировать поврежденный мдф и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com




