আমি এক্সেলের একটি আউটলুক ভিবিএ স্ক্রিপ্ট তৈরি করতে সক্ষম হয়েছিলাম যা একটি নির্দিষ্ট আউটলুক সাবফোল্ডারের কেবলমাত্র "অপঠিত" বার্তাগুলিকে আমার নেটওয়ার্কের একটি ফোল্ডারে সংরক্ষণ করে এবং তারপর বার্তাটি "পড়ুন" হিসাবে চিহ্নিত করে।
আমি পাশাপাশি ইমেল সংরক্ষণ করার চেষ্টা করছি। আমি আমার নেটওয়ার্কের দৃষ্টিভঙ্গি বার্তা সংরক্ষণ করার চেষ্টা করছেন সমস্যা হয়েছে। আমি নিকটতম হতে এসেছি নীচের সাহসী কোড যোগ করে। যদিও আমি পছন্দসই আউটপুট পাচ্ছি না।
যেমন, সংযুক্তি ফোল্ডারে সংরক্ষণ করা হচ্ছে, H: \ টেস্টিং \ XY \, এবং আমি Outlook এ বার্তাগুলি H: \ টেস্টিং \ XY \ ইমেল "ফোল্ডারে সংরক্ষণ করতে চাই। ইতিমধ্যে, আমি কেবল ইমেলগুলি চাই বিষয় নাম এবং ইমেলটি প্রাপ্তির তারিখের সাথে সংরক্ষণ করা হবে। যদিও আমি ভিবিএ কোডটি চালাতে থাকি তবে ইমেলগুলি ফোল্ডারে সংরক্ষণ করা হচ্ছে, H: \ testing \ XY \, এবং ফাইলের নাম ইমেলs.msg।
আমি তাদের চাই চাই সংযুক্তি সংরক্ষণ করা হয়। এই সম্পূর্ণ কোনো সাহায্য ব্যাপকভাবে প্রশংসা করা হবে।
Sub SaveEmailAndAttach()
Dim myOlapp As Outlook.Application
Dim myNamespace As Outlook.Namespace
Dim myFolder As Outlook.MAPIFolder
Dim myItem As Outlook.MailItem
Dim myAttachment As Outlook.Attachment
Dim myMail As Outlook.MailItem
Dim avDate() As String
Dim vDate As String
Dim i As Long
Dim myEmailPath As String
ReDim Preserve avDate(3)
Set myOlapp = CreateObject("Outlook.Application")
Set myNamespace = myOlapp.GetNamespace("MAPI")
Const myAttachPath As String = "H:\Testing\XY\"
**myEmailPath = enviro & "H:\Testing\XY\Emails"**
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox).Folders("Auto").Folders("Manual")
For Each myItem In myFolder.Items
If myItem.UnRead = True Then
avDate = Split(CStr(myItem.ReceivedTime), "/")
vDate = avDate(0) & "-" & avDate(1) & "-" & Mid(avDate(2), 1, 4)
If myItem.Attachments.Count <> 0 Then
For Each myAttachment In myItem.Attachments
If UCase(Right(myAttachment.Filename, 4)) = "XLSX" Then
i = i + 1
myAttachment.SaveAsFile (myAttachPath & vDate & " " & myAttachment.Filename)
End If
Next
**myItem.SaveAs myEmailPath & " " & vDate & ".msg"**
myItem.UnRead = False
End If
End If
Next
Set Folder = Nothing
Set OutlookNamespace = Nothing
Set OutlookApp = Nothing
End Sub