Могу ли я использовать VS 2012 для создания надстройки Office 2007?

Это не означает: http://msdn.microsoft.com/en-us/library/ee519072(v=vs.110).aspx

Но, но ... правда?

Office 2007 по-прежнему широко распространен - ​​наверняка они еще не отказались от его поддержки? Мне нужно его поддержать, и, похоже, это означает, что я не могу использовать VS2012.

А может это ограничение касается только RC? (Пожалуйста). Или, возможно, он создает надстройки, которые нацелены на 2010 год, но могут работать и на 2007? (Хватаясь за соломинку).

Скажи мне, что это не так ...


person Gary McGill    schedule 22.07.2012    source источник
comment
Казалось бы, так, но на данный момент это только предположения.   -  person JimmyPena    schedule 23.07.2012


Ответы (2)


Вы можете создать Надстройка Office, предназначенная для 2010 года, но все еще работающая в Office 2007. Уловка заключается в том, что вам необходимо знать, какие типы взаимодействия и события присутствуют в 2007 году по сравнению с 2010 годом. Если вы попытаетесь получить доступ к событию или члену класса, которого не существует в 2007 году, у вас возникнут проблемы.

Visual Studio 2012 включает только шаблоны проектов Office 2010. Еще одно раздражение / ограничение заключается в том, что они устранили поддержку проектов установки, как мы и выпускаем наш плагин. Проекты установки были заменены на InstallShield Limited Edition (ISLE ).

person SliverNinja - MSFT    schedule 23.07.2012
comment
Спасибо. Так как насчет материала NoPIA? Полагаю, это не сработает, по крайней мере, на 2007 год? Похоже, мне нужно придерживаться VS 2010 :-( - person Gary McGill; 23.07.2012

К вашему сведению, примерно в марте 2013 года я только что создал надстройку Excel, предназначенную для Excel 2013, которая отлично работает в Excel 2007.

Мне пришлось удалить / заменить вызовы get_Range, но это неудивительно, поскольку get_Range всегда казался чем-то вроде взлома.

#if PRE_VSTO_2012
 Excel.Range vsto_range = vsto_sheet.Cells.get_Range( 
  vsto_sheet.Cells[1, 1],
   vsto_sheet.Cells[rowCount, colCount]) as Excel.Range;
#else
   Excel.Range top_left = vsto_sheet.Cells[ 1, 1 ];
    Excel.Range bottom_right = vsto_sheet.Cells[ rowCount, colCount ];
     Excel.Range vsto_range = vsto_sheet.Range[ top_left, bottom_right ];
#endif

Мне еще предстоит создать пакет InstallShield LE. Это дальше ...

person Ward Yaternick    schedule 07.03.2013
comment
Мне еще предстоит создать пакет InstallShield LE. Это следующее ... - Бедняжка. Вы думаете, что готовы на 90%, но на самом деле 90% боли и разочарования еще впереди. Удачи :-) - person Gary McGill; 07.03.2013
comment
@GaryMcGill чертовски прав. Первое использование installshield - ужасный кошмар по сравнению с ранее доступными проектами установки. Удачи ;) - person Syakur Rahman; 03.10.2013