1

我尝试了 2 种方法来实现能够创建和发送 Outlook 任务的目的,这两种方法都以我无法自行解决的方式出错。

我在使用 Microsoft Outlook 14.0 对象库和 MSDN 中的操作方法创建 Outlook 任务时遇到问题:http: //msdn.microsoft.com/en-us/library/office/ff184639.aspx

此代码的第一行创建一个 Outlook.TaskItem:

Outlook.TaskItem task = Application.CreateItem(
    Outlook.OlItemType.olTaskItem) as Outlook.TaskItem;

“Application.CreateItem”引发错误:

    'System.Windows.Forms.Application' does not contain a definition for 'CreateItem'

而不是 System.Window.Forms.Application,我认为它正在寻找的类在 Outlook.ApplicationClass 中,但这也不起作用。

因此,用代码替换上述代码的第二次尝试如下创建任务项:

Outlook.ApplicationClass app = new Outlook.ApplicationClass();
Outlook.TaskItem tsk = (Outlook.TaskItem) 
         app.CreateItem(Outlook.OlItemType.olTaskItem);

我得到的错误是:

    Interop type 'Microsoft.Office.Interop.Outlook.ApplicationClass' cannot be embedded. Use the applicable interface instead.

我仍在学习 C#,但不确定如何解决这些错误。任何帮助深表感谢。

4

1 回答 1

3

如果 Outlook 已经在运行,请在您的类中添加以下方法:

   public static Microsoft.Office.Interop.Outlook.Application GetActiveOutlookApplication()
   {
      return ( Microsoft.Office.Interop.Outlook.Application )System.Runtime.InteropServices.Marshal.GetActiveObject( "Outlook.Application" );
   }

...然后使用它

Outlook.Application app = GetActiveOutlookApplication();
Outlook.TaskItem tsk = (Outlook.TaskItem)  app.CreateItem(Outlook.OlItemType.olTaskItem);

...对于 Outlook 的新实例,您可以尝试(不确定这是否有效)

 Outlook.Application app = new Outlook.Application();
 Outlook.TaskItem tsk = ( Outlook.TaskItem )app.CreateItem( Outlook.OlItemType.olTaskItem );
于 2013-09-17T22:22:04.913 回答