这不建议:http://msdn.microsoft.com/en-us/library/ee519072(v=vs.110).aspx
但是,但是...... 真的?
Office 2007仍然无处不在 - 他们肯定还没有放弃对它的支持吗?我需要支持它,似乎这意味着我不能使用VS2012。
或许这个限制只适用于RC? (请)。或者它可能会创建2010年定位但仍可以在2007年运行的加载项? (抓着稻草)。
告诉我事实并非如此......
答案 0 :(得分:3)
您可以创建Office addin that targets 2010, but that still works in Office 2007。诀窍在于您需要了解2007年与2010年之间存在的互操作类型和事件。如果您尝试访问2007年不存在的事件或类成员,您将遇到问题。
Visual Studio 2012仅包含Office 2010项目模板。另一个烦恼/限制是他们取消了对安装项目的支持,这是我们发布插件的方式。设置项目已replaced by InstallShield Limited Edition (ISLE)。
答案 1 :(得分:2)
仅供参考,大约在2013年3月,我刚刚创建了一个针对Excel 2013的Excel Addin,它在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包。那是下一个......