Я также столкнулся с этой проблемой при создании надстройки Excel 2007 с использованием VS2008 SP1. Обходной путь, который я использовал, - хранить приложение в свойстве internal static
в главном классе AddIn, а затем ссылаться на него в обработчике событий на ленте:
public partial class ThisAddIn
{
internal static Application Context { get; private set; }
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
Context = Application;
}
...
}
public partial class MyRibbon : OfficeRibbon
{
private void button1_Click(object sender, RibbonControlEventArgs e)
{
DoStuffWithApplication(ThisAddIn.Context);
}
...
}