การเพิ่มปุ่มไปยัง Outlook เพื่อบันทึกสิ่งที่แนบมาทั้งหมดในครั้งเดียว - ทำอย่างไร

การเพิ่มปุ่มไปยัง Outlook เพื่อบันทึกสิ่งที่แนบมาทั้งหมดในครั้งเดียว

สคริปต์นี้บันทึกไฟล์ที่แนบมาทั้งหมดจากโฟลเดอร์ Outlook ลงในดิสก์รวมทั้งหมดเข้าด้วยกันแทนทีละไฟล์
สำหรับ Outlook 2007/2010

ขั้นตอนนำมาจากวิธีการนี้ (http://community.spiceworks.com/how_to/show/1964)

ทั้งหมด 4 ขั้นตอน

ขั้นตอนที่ 1: เพิ่มแมโครลงใน Outlook

เปิด Outlook แล้วกด alt-F8 บนแป้นพิมพ์ของคุณ นี่จะเปิดหน้าต่างมาโครของคุณ ค้นหาและคลิกปุ่ม "สร้าง" เพื่อป้อนรหัสแมโครด้านล่าง:

'แอตทริบิวต์ VB_Name = "Módulo1"

ตัวเลือกที่ชัดเจน

Private Const BIF_RETURNONLYFSDIRS = 1
Const ส่วนตัว BIF_DONTGOBELOWDOMAIN = 2
Const ส่วนตัว MAX_PATH = 260

ฟังก์ชันประกาศส่วนตัว SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) ตราบเท่าที่
ฟังก์ชันประกาศส่วนตัว SHGetPathFromIDList Lib "shell32" (ByVal pidList ตราบ ByVal lpBuffer As String) ตราบใด
ฟังก์ชันประกาศส่วนตัว lstrcat Lib "kernel32" นามแฝง "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) ตราบใดที่

ประเภทส่วนตัว BrowseInfo
hWndOwner ตราบใดที่
pIDLRoot ตราบใดที่
pszDisplayName ตราบเท่าที่
lpszTitle ตราบใด
ulFlags ตราบใดที่
lpfnCallback ตราบใด
lParam ตราบใด
iImage ตราบใดที่
ประเภทสิ้นสุด

Sub GuardarAdjuntos ()
Dim oApp เป็นแอปพลิเคชัน
'Dim oNS เป็นเนมสเปซ
'Dim oMsg เป็นวัตถุ
ติ่มซำ oAttachments เป็น Outlook.Attachments
ติ่มซำควบคุม
'ตั้งค่า oApp = โปรแกรม Outlook ใหม่
'ตั้งค่า oNS = oApp.GetNamespace ("MAPI")
'ตั้งค่า oFolder = oNS.GetDefaultFolder (olFolderInbox)
lpIDList ติ่มซำนาน 'ประกาศ varibles
sBuffer ติ่มซำเป็นสตริง
ติ่ม szTitle As String
ติ่มซำ tBrowseInfo เป็น BrowseInfo
ติ่ม strFolder ถึง, strSenderEmailFind, CurFolder, I, j, curItem, strSenderEmail, mypos, oAttachments, oattachment
szTitle = "BMW"
ด้วย tBrowseInfo
.hWndOwner = 0 'แบบฟอร์มสำหรับเจ้าของ
.lpszTitle = lstrcat (szTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
จบด้วย
lpIDList = SHBrowseForFolder (tBrowseInfo)
ถ้า (lpIDList) จากนั้น
sBuffer = Space (MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = ซ้าย (sBuffer, InStr (sBuffer, vbNullChar) - 1)
'MsgBox sBuffer

'strSenderEmailFind = "[email protected]"
ตั้งค่า CurFolder = Application.ActiveExplorer.CurrentFolder
สำหรับ I = 1 ถึง CurFolder.Items.Count
ชุด curItem = CurFolder.Items.Item (I)
'strSenderEmail = CurFolder.Items.Item (I) .SenderEmailAddress
'mypos = InStr (1, strSenderEmailFind, strSenderEmail, 1)
'ถ้า mypos> 0 แล้ว
ตั้งค่า oAttachments = curItem.Attachments
สำหรับ j = 1 ถึง oAttachments.Count
ตั้งค่า oattachment = oAttachments รายการ (j)
oattachment.SaveAsFile sBuffer & "" & oattachment.FileName
ต่อไป
'สิ้นสุดถ้า
ต่อไป
สิ้นสุดถ้า
ส่วนท้าย

ขั้นตอนที่ 2: เพิ่มกลุ่มบน Ribbon หลักสำหรับปุ่ม

คลิกขวาบน Ribbon และเลือก "GuardarAdjunto ... " ทางด้านขวาให้เลือกแท็บหลักที่คุณต้องการให้ปุ่มเปิด (ฉันใช้โฮม (เมล)) แล้วคลิกที่กลุ่มใหม่ คลิกที่ "กลุ่มใหม่" และเปลี่ยนชื่อเป็น "YourGroup"

ขั้นตอนที่ 3: เพิ่มแมโครไปยังกลุ่ม

ที่ด้านซ้ายคลิกที่กล่องแบบหล่นลงสำหรับ "เลือกคำสั่งจาก" และเลือกมาโคร เลือกมาโคร "GuardarAdjuntos" และคลิกที่เพิ่ม

ขั้นตอนที่ 4: เปลี่ยนชื่อปุ่ม

ทางด้านขวาคลิกขวาที่มาโครภายใต้กลุ่ม "YourGroup" และคลิกที่เปลี่ยนชื่อ สิ่งนี้จะช่วยให้คุณสามารถเปลี่ยนชื่อปุ่มและเปลี่ยนไอคอนเป็นสิ่งที่คุณต้องการ เมื่อเสร็จสิ้นคลิกที่ตกลง

ตอนนี้ถ้าคุณต้องการที่จะบันทึกไฟล์ที่แนบหลายไฟล์เพียงแค่ย้ายอีเมลไปยังโฟลเดอร์ temp ใน Outlook และเรียกใช้สคริปต์นี้ ... หวังว่ามันจะเป็นประโยชน์