2012-12-11 54 views
3

您好我正在开发一个解决方案,使用VSTO 2012和Microsoft Outlook 2010插件在Outlook 2010中创建工具栏。简而言之,我可以创建Outlook功能区和一个按钮,但我无法获得打开.oft文件的按钮。在Visual Studio中,我得到以下错误“名称'应用程序'在当前上下文中不存在”。我还添加了对Microsoft Office 14.0对象库的引用。下面是代码...在当前上下文中不存在名称'应用程序'

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Xml.Linq; 
using Outlook = Microsoft.Office.Interop.Outlook; 
using Office = Microsoft.Office.Core; 
using Microsoft.Office.Tools.Ribbon; 

namespace OutlookAddIn8 
{ 
public partial class Ribbon1 
{ 
    private void Ribbon1_Load(object sender, RibbonUIEventArgs e) 
    { 

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

    private void button1_Click(object sender, RibbonControlEventArgs e) 
    { 

    } 
} 

}

感谢任何帮助表示赞赏它可能是简单的东西这就是被错过。

回答

3

可以使用Globals.ThisAddIn.Application访问应用程序实例。如果您将AddIn类重新命名为不同的例如MyAddIn然后命令将是:Globals.MyAddIn.Application

下面是详细信息的链接:http://msdn.microsoft.com/en-us/library/vstudio/bb157876(v=vs.100).aspx

+0

好了,所以我在哪里输入字符串。对不起,我不是一个编码员,只是试图通过我在网上找到的位来完成这件事。提前致谢! –

+0

只需添加在你的函数开头:'Outlook.Application Application = Globals.ThisAddIn.Application;' – melan

+0

非常感谢,摆脱了错误信息。现在的问题是我需要代码来初始化按钮上的按钮。私人无效button1_Click(对象发件人,RibbonControlEventArgs e){我有这部分的代码,但我会把它放在哪里? –

1

到底最后到了那里,继承人的代码.....

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Microsoft.Office.Tools.Ribbon; 
using Outlook = Microsoft.Office.Interop.Outlook; 


namespace OutlookAddIn3 
{ 
public partial class Ribbon1 
{ 
    private void Ribbon1_Load(object sender, RibbonUIEventArgs e) 
    { 

    } 
    private void button1_Click(object sender, RibbonControlEventArgs e) 
    { 
     Outlook.Application Application = Globals.ThisAddIn.Application; 
     Outlook.MailItem mail = 
      Application.CreateItemFromTemplate(
      @"Z:\Transfer\Outlook 2010 Templates\testsubject.oft") as Outlook.MailItem; 
     mail.Display(true); 
    } 
相关问题