1

Outlook タスクを作成して送信できるようにするために 2 つの方法を試しましたが、どちらも自分では解決できない方法でエラーが発生しました。

Microsoft Outlook 14.0 Object Library と MSDN の How To を使用して 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 にあると思いますが、これも機能しません。

したがって、上記のコードを次のコードに置き換える 2 回目の試みは、TaskItem を作成するためのものです。

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 に答える