我正在尝试保存手动编辑的msg文件。
用户编辑显示邮件并保存后,旧的msg文件应替换为编辑后的msg文件。
我试着用CreateItemFromTemplate来显示邮件。我不知道编辑后的邮件保存在哪里。它不会替换原始文件。
Sub test()
Dim File As Variant
Dim count As Integer
Set mailobj = CreateObject("Outlook.Application")
count = 0
File = Dir(ActiveWorkbook.path & "\Daily\INDIA\ready\")
While (File <> "")
If InStr(File, "msg") > 0 Then
Set xOutMail = mailobj.CreateItemFromTemplate(ActiveWorkbook.path & "\Daily\INDIA\ready\" & File)
xOutMail.Display
End If
File = Dir
Wend
Debug.Print count
End Sub我可以显示邮件。我不能保存它。我不能替换原始文件。
发布于 2019-06-18 15:15:51
Application类的CreateItemFromTemplate方法从Outlook模板(.oft)创建新的Microsoft Outlook项,并返回新项。第二个参数指定要在其中创建项目的文件夹。如果省略此参数,将使用项目类型的默认文件夹(邮件项目的草稿)。
Sub CreateFromTemplate2()
Dim MyItem As Outlook.MailItem
Set MyItem = Application.CreateItemFromTemplate("C:\statusrep.oft", _
Application.Session.GetDefaultFolder(olFolderDrafts))
MyItem.Save
' or
MyItem.SaveAs Environ("HOMEPATH") & "\My Documents\statusrep.oft", OlSaveAsType.olTemplate
End Sub如果需要将其另存为模板,则需要使用Outlook项的SaveAs方法。它以指定文件类型的格式将Microsoft Outlook项保存到指定的路径。如果未指定文件类型,则使用消息格式(.msg)。
最后,您可能会发现How To: Create a new Outlook message based on a template文章很有帮助。
https://stackoverflow.com/questions/56641311
复制相似问题