Se você deseja que o Outlook abra automaticamente os anexos de e-mails recebidos de um remetente específico, leia este artigo. Aqui vamos orientá-lo como alcançá-lo.
Por exemplo, seu chefe costuma enviar e-mails com vários anexos de arquivos importantes. Para reagir ao seu chefe o mais rápido possível, você precisa abrir os anexos ao recebê-los. Nesse cenário, você pode desejar um método mais inteligente para permitir que o Outlook abra automaticamente os anexos de e-mail recebidos de seu chefe. Agora, mostraremos esse método.
Abrir automaticamente anexos de e-mails recebidos de um remetente específico
- Para começar, abra o aplicativo Outlook.
- Em seguida, acesse o editor VBA pelo atalho – “Alt + F11”
- Em seguida, coloque o seguinte código VBA no projeto “ThisOutlookSession”.
Private Declare Function GetShortPathName Lib "kernel32" _
Alias "GetShortPathNameA" (ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
Private WithEvents objItems As Outlook.Items
Private Sub Application_Startup()
Set objItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
'Occurs when new item arrives in Inbox
Private Sub objItems_ItemAdd(ByVal Item As Object)
Dim objMail As Outlook.MailItem
Dim objWsShell As Object
Dim strTempFolder As String
Dim objAttachments As Outlook.Attachments
Dim objAttachment As Attachment
Dim strFileName As String
If Item.Class = olMail Then
Set objMail = Item
'Change sender email address
If objMail.SenderEmailAddress = "boss@datanumen.com" Then
Set objWShell = CreateObject("WScript.Shell")
strTempFolder = Environ("Temp") & "\"
Set objWsShell = CreateObject("WScript.Shell")
Set objAttachments = objMail.Attachments
If objAttachments.Count > 0 Then
For Each objAttachment In objAttachments
strFileName = objAttachment.DisplayName
On Error Resume Next
Kill strTempFolder & strFileName
On Error GoTo 0
'Save the attachment
objAttachment.SaveAsFile strTempFolder & strFileName
'Open the attachment
strFileName = GetShortFileName(strTempFolder & strFileName)
On Error Resume Next
objWsShell.Run strFileName
Next
End If
End If
End If
End Sub
Function GetShortFileName(ByVal FullPath As String) As String
Dim lAns As Long
Dim sAns As String
Dim iLen As Integer
On Error Resume Next
If Dir(FullPath) <> "" Then
sAns = Space(255)
lAns = GetShortPathName(FullPath, sAns, 255)
GetShortFileName = Left(sAns, lAns)
End If
End Function
- Posteriormente, feche o editor VBA.
- Por fim, reinicie o aplicativo Outlook para ativar a nova macro.
- A partir de agora, sempre que um novo e-mail do remetente específico chegar à sua caixa de entrada, o Outlook abrirá automaticamente os anexos desse e-mail.
Aplicar ferramenta de reparo da caixa de entrada
Quando seu arquivo de dados do Outlook está corrompido, o que você faria então? Na verdade, em primeiro lugar, você pode usar a ferramenta de correção do Outlook embutida – ScanpstName. É capaz de resolver alguns pequenos problemas envolvidos com o seu Outlook. Se este utilitário falhar, é hora de recorrer a uma ferramenta externa muito mais experiente e confiável, como DataNumen Outlook Repair.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo mdf corrompido e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

