首页 > 解决方案 > 使用 C# 打开 Outlook 模板文件

问题描述

我有一个小型应用程序,需要能够打开已经创建的 Outlook 模板文件。另一方面,我可以轻松打开空白的 Outlook 电子邮件。然而,到目前为止我所尝试的一切似乎都不起作用。

using Microsoft.Office.Interop.Outlook;
using Outlook = Microsoft.Office.Interop.Outlook;
using OutlookApp = Microsoft.Office.Interop.Outlook.Application;

private void CreateItemFromTemplate()
        {
            Outlook.Folder folder =
                Application.Session.GetDefaultFolder(
                Outlook.OlDefaultFolders.olFolderDrafts) as Outlook.Folder;
            Outlook.MailItem mail =
                Application.CreateItemFromTemplate(
                @"Forms\\RLA.oft", folder) as Outlook.MailItem;
            mail.Subject = "Congratulations";
            mail.Save();
        }

这直接来自 MS 站点,但在 Session 和 CreateItemFromTemplate 下出现错误。我试过包括所有推荐的参考资料,但没有任何效果。

这是我尝试过的另一种选择。

           OutlookApp outlookApp = new OutlookApp();
          //MailItem mailItem = outlookApp.CreateItem(OlItemType.olMailItem);
            MailItem mailItem = outlookApp.CreateItemFromTemplate("\\Content\\RLW.oft", OlItemType.olMailItem);

上面的这个选项适用于 CreateItem 对象,但不适用于 CreateItemFromTemplate 对象。

C#打开一个模板不可能这么难。任何帮助将不胜感激。

标签: c#outlook

解决方案


如果以后遇到这种情况,我想出了自己的答案。这条线就是问题所在。

MailItem mailItem = outlookApp.CreateItemFromTemplate("\\Content\\RLW.oft", OlItemType.olMailItem);

编写时,Visual Studio 实际上会告诉您何时将鼠标悬停在它上面。参数“OlItemType.olMailItem”是它查找的文件夹。如果您不考虑该参数,它将查找给定的路径。如果没有,它将无法正确打开。


推荐阅读