อีเมลที่ตอบกลับโดยสคริปต์ VBA จะไม่แสดงไอคอนตอบกลับที่มีลูกศรสีม่วง


0

ฉันมีสคริปต์ VBA ที่ย้ายอีเมลไปยังโฟลเดอร์ (กล่องโต้ตอบ) และสร้างการตอบกลับที่จะถูกบันทึกไว้ในโฟลเดอร์เดียวกัน ปัญหาที่ฉันมีคืออีเมลต้นฉบับไม่เคยแสดงไอคอนตอบกลับพร้อมลูกศรสีม่วง ความคิดใด ๆ ที่ฉันหายไป?

Sub FileAndReply()
'This subroutine will move the highlighted email to a user selected folder
'and generate a reply that will be saved in the same folder.
'PROBABLY: Must have Save copy of messages in Sent folder set.
'MAYBE: Must have When replying to a message that is not in the Inbox, save...

Dim olApp As New Outlook.Application
Dim olExp As Outlook.Explorer
Dim olSel As Outlook.Selection
Dim olNS As Outlook.NameSpace
Dim olFolder As Outlook.Folder
Dim olItem As Outlook.MailItem

Set olExp = olApp.ActiveExplorer
Set olSel = olExp.Selection
Set olNS = olApp.GetNamespace("MAPI")

'get folder user wants to put email in
Set olFolder = olNS.PickFolder

If TypeName(olFolder) <> "Nothing" Then
    olSel.Item(1).Move olFolder
    Set olItem = olSel.Item(1).Reply

    'TO BE FIXED: reply object is created, but original message does
    'not get the icon showing replied to purple arrow!

    Set olItem.SaveSentMessageFolder = olFolder
    olItem.Display
Else
    MsgBox ("No folder selected.  Script aborted.")
End If
End Sub

คำตอบ:


0

เมื่อคุณย้ายรายการจะมีการสร้างรายการใหม่ คุณต้องตอบกลับรายการใหม่

Sub FileAndReply()
'This subroutine will move the highlighted email to a user selected folder
'and generate a reply that will be saved in the same folder.
'PROBABLY: Must have Save copy of messages in Sent folder set.
'MAYBE: Must have When replying to a message that is not in the Inbox, save...

Dim olApp As New Outlook.Application
Dim olExp As Outlook.Explorer
Dim olSel As Outlook.Selection
Dim olNS As Outlook.NameSpace
Dim olFolder As Outlook.folder
Dim olItem As Outlook.MailItem

Set olExp = olApp.ActiveExplorer
Set olSel = olExp.Selection
Set olItem = olSel.Item(1)

Set olNS = olApp.GetNamespace("MAPI")

'get folder user wants to put email in
Set olFolder = olNS.PickFolder

If TypeName(olFolder) <> "Nothing" Then
    Set olItem = olItem.Move(olFolder)

    Set olItem = olItem.Reply

    'TO BE FIXED: reply object is created, but original message does
    'not get the icon showing replied to purple arrow!

    Set olItem.SaveSentMessageFolder = olFolder
    olItem.Display
Else
    MsgBox ("No folder selected.  Script aborted.")
End If
End Sub

อาดังนั้นการเคลื่อนไหวคือการคัดลอกและลบเบื้องหลัง เข้าใจแล้ว ทำงานได้อย่างสมบูรณ์แบบ (เพิ่มolItem.UnRead = Falseหลังจากบรรทัดย้าย) น่าเสียดายที่ฉันไม่สามารถใช้ QuickStep ในการทำสิ่งนี้ได้และฉันต้องใช้มาโคร ...
Scott

นอกจากนี้ยังมีตัวเลือก Outlook ที่อาจช่วยได้ ไฟล์> ตัวเลือก> จดหมาย> บันทึกข้อความ> เมื่อตอบกลับข้อความที่ไม่ได้อยู่ในกล่องจดหมายเข้าให้บันทึกคำตอบไว้ในโฟลเดอร์เดียวกัน ซึ่งรวมกับขั้นตอนการย้ายและตอบกลับอย่างรวดเร็วอาจทำงานได้
IMTheNachoMan

ฉันมีกิจกรรมนั้น ปัญหาเกิดขึ้นกับ quickstep การย้ายใช้งานได้ แต่คำตอบจะถูกบันทึกไว้ในกล่องจดหมาย (ปัญหาเดียวกับที่นี่ - ต้องตอบกลับไปยังวัตถุใหม่)
Scott

คุณเปลี่ยนการตั้งค่า Outlook หรือไม่
IMTheNachoMan

ใช่มันเปิดใช้งานมาแล้วตั้งแต่วันที่ 1 นี่เป็นเพียงช่องโหว่ขนาดใหญ่สำหรับ MS ที่จะไม่นำเสนอไฟล์และส่งที่ทำงานนอกกรอบ AFAIK นักธุรกิจเกือบทุกคนจะต้องการฟังก์ชั่นนี้
สกอตต์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.