9

这建议不要: http: //msdn.microsoft.com/en-us/library/ee519072 (v=vs.110).aspx

但是,但是……真的吗?

Office 2007 仍然无处不在——他们肯定还没有放弃对它的支持吗?我需要支持它,这似乎意味着我不能使用VS2012。

或者也许这个限制只适用于 RC?(请)。或者,它创建了针对 2010 年但仍可在 2007 年运行的加载项?(抓着稻草)。

告诉我不是这样...

4

2 回答 2

3

您可以创建面向 2010 的 Office 插件,但在 Office 2007 中仍然有效。诀窍是您需要了解 2007 年与 2010 年存在哪些互操作类型和事件。如果您尝试访问 2007 年不存在的事件或类成员,您将遇到问题。

Visual Studio 2012 仅包含 Office 2010 项目模板。另一个烦恼/限制是他们取消了对设置项目的支持,这就是我们发布插件的方式。安装项目已被InstallShield Limited Edition (ISLE) 取代

于 2012-07-23T14:25:48.797 回答
2

仅供参考,大约在 2013 年 3 月,我刚刚创建了一个针对 Excel 2013 的 Excel 插件,它在 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 包。接下来就是...

于 2013-03-07T10:39:04.253 回答