如何使用VBA打开msg文件,手动编辑,保存并替换原始msg文件

时间:2019-06-18 03:17:26

标签: excel vba outlook

我正在一个需要自动生成电子邮件的项目中。但是,一些自动生成的电子邮件需要一些手动编辑。我试图做一个宏来打开所有自动生成的味精文件。在用户编辑显示的电子邮件后,单击“保存”。然后,较旧的味精文件将被新编辑的文件替换。

非常感谢!

我尝试使用“ CreateItemFromTemplate”,然后显示邮件。但是,在编辑显示的电子邮件并保存后,我不知道将其保存在何处,并且我也意识到它没有替换原始文件。

我需要excel VBA来打开msg文件,就像我们手动双击并打开msg文件一样

New-Item -ItemType File -Path "$FilePath\GM\GM.flg" -ErrorAction Ignore

我现在能做的只是显示邮件,而我无法保存(或替换原始文件)。

我认为可能的解决方案是 1.找到一种方法来保存和替换旧的味精文件 2.单击保存后,找出显示的msg文件保存在何处

1 个答案:

答案 0 :(得分:0)

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格式(.msg)。

最后,您可能会发现How To: Create a new Outlook message based on a template文章很有帮助。