Om du vill att Outlook automatiskt ska öppna bilagor för inkommande e-post från en viss avsändare kan du läsa den här artikeln. Här kommer vi att vägleda dig hur du uppnår det.
Till exempel mailar din chef dig ofta med flera viktiga filbilagor. För att reagera på din chef så snart som möjligt måste du öppna bilagorna när du tar emot dem. I det här scenariot kanske du längtar efter en smartare metod för att låta Outlook automatiskt öppna inkommande e-postbilagor från din chef. Nu visar vi dig en sådan metod.
Automatiskt öppna bilagor för inkommande e-post från en specifik avsändare
- Till att börja med, starta Outlook-applikationen.
- Gå sedan till VBA-redigeraren via genväg - “Alt + F11”
- Sätt sedan in följande VBA-kod i projektet "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
- Stäng sedan VBA-redigeraren.
- Starta slutligen om Outlook-programmet för att aktivera det nya makrot.
- Från och med nu, varje gång när ett nytt e-postmeddelande från den specifika avsändaren anländer till din inkorg, öppnar Outlook automatiskt bilagorna i det här e-postmeddelandet.
Applicera reparationsverktyget för inkorgen
När din Outlook-datafil är skadad, vad skulle du göra då? För det första kan du först använda det inbyggda Outlook-fixverktyget - Scanpst. Det kan lösa några små problem som är inblandade i din Outlook. Förutsatt att det här verktyget misslyckas är det hög tid att tillgripa ett mycket mer erfaret och pålitligt externt verktyg, t.ex. DataNumen Outlook Repair.
Författarintroduktion:
Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive skadad mdf och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com

