我已经尝试了两种方法来实现能够创建和发送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中,但这也不起作用。
因此,第二次尝试用代码替换上面的代码是为了创建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#,我不知道如何解决这些错误。非常感谢任何帮助。
答案 0 :(得分: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 );