আউটলুক 2007: আমি কীভাবে কোনও বার্তার পুরানো সংস্করণগুলি স্বয়ংক্রিয়ভাবে মুছতে পারি


0

আমি ইমেলের মাধ্যমে স্বায়ত্তশাসিত বার্তাগুলি পাই যা আমাকে আমার সংস্থার বিভিন্ন সিস্টেমে স্থিতির ড্যাশবোর্ড প্রদর্শন সরবরাহ করে। আমি আউটলুকটি স্বয়ংক্রিয়ভাবে নির্দিষ্ট স্থিতির বার্তাকে একটি নির্দিষ্ট ফোল্ডারে সরিয়ে নিয়ে যেতে চাই এবং তারপরে সেই ফোল্ডারে পূর্ববর্তী বার্তাগুলি মুছতে চাই। এই কাজ করতে সবচেয়ে ভালো উপায় কি?

উত্তর:


0

ইনবক্সে যখন কোনও নতুন মেল থাকে তখন এই অগ্রগতি নিয়মটি ফোল্ডারটি সন্ধান করে, সামগ্রীগুলি মোছা করে, তারপরে নতুন মেলটি এতে সরিয়ে দেয়।

Private Sub Application_NewMail()
' In ThisOutlookSession module

' see Create Outlook Rules Programmatically
' http://msdn.microsoft.com/en-us/library/aa163981(v=office.10).aspx

Dim olApp As Outlook.Application
Dim olNs As Outlook.NameSpace
Dim olFld As Outlook.MAPIFolder
Dim objMail As Object

Set olApp = Outlook.Application
Set olNs = olApp.GetNamespace("MAPI")
Set olFld = olNs.GetDefaultFolder(olFolderInbox)

olFld.items.sort "Received", False

' GetFirst used to work in Outlook 2003 now it is GetLast in Outlook 2010   
Set objMail = olFld.items.GetLast

If TypeOf objMail Is MailItem Then
    DeleteBeforeNewStatus objMail
End If

Set objMail = Nothing
Set olFld = Nothing
Set olNs = Nothing
Set olApp = Nothing

End Sub


Sub DeleteBeforeNewStatus(objMail As MailItem)
' In any module 

Dim olFld As folder
Dim olNs As NameSpace

Dim olderMail As MailItem
Dim iDel As Long

Set olNs = Application.GetNamespace("MAPI")

Select Case objMail.Subject

    Case "System A Status"
        Set olFld = olNs.GetDefaultFolder(olFolderInbox).Folders("SystemA")

    Case "System B Status"
        Set olFld = olNs.GetDefaultFolder(olFolderInbox).Folders("SystemB")

    Case Else
        Set olNs = Nothing
        Exit Sub

End Select

For iDel = olFld.items.Count To 1 Step -1
    Set olderMail = olFld.items(iDel)
    olderMail.Delete
Next

 objMail.Move olFld

End Sub

পরীক্ষার জন্য সরাসরি ইনবক্সের নীচে দুটি পরীক্ষার ফোল্ডার তৈরি করুন। যদি এটি কাজ করে তবে প্রয়োজন হিসাবে এই দুটি লাইনের যতগুলি উদাহরণ যোগ করুন।

 Case "System X Status"
      Set olFld = olNs.GetDefaultFolder(olFolderInbox).Folders("SystemX")

যদি ফোল্ডারগুলি আরও গভীরভাবে সমাহিত করা হয় তবে আপনাকে এই ফর্ম্যাটটিতে পাথটি অন্তর্ভুক্ত করতে হবে।

ওলফ্ল্ড = ওলএনএস.গেটডাফল্টফোল্ডার (#FolderInbox) সেট করুন F ফোল্ডার ("সাবফোল্ডার 1") F ফোল্ডার (সাবফোল্ডার 2 ")। ফোল্ডার (" সিস্টেমএক্স ")

সম্পাদক এবং বোতাম সহায়তা - http://www.slipstick.com/developer/how-to-use-outlooks-vba-editor/

ম্যাক্রো সুরক্ষা মাঝারিতে সেট করা উচিত।

বোতাম সহায়তা - http://www.howto-outlook.com/howto/macrobutton.htm

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.