Tag: vsto

对使用SHA-2证书的.NET Framework 4.0进行签名的VSTO Excel加载项签名

我有一个VSTO 2010 Excel加载项,面向.Net Framework 4.0,Visual Studio 2010。 过去几年我们使用SHA-1证书来签署清单和程序集。 该应用程序已经为很多最终用户部署。 现在,随着SHA-1弃用政策从2016年1月开始生效,已由CA颁发的更新证书使用SHA-256进行密钥pipe理。 请查看使用各种版本的Visual Studio构buildExcel 2010 VSTO加载项所生成的文件: 注意:以下所有情况下使用的证书都使用SHA-2algorithm进行密钥input。 由VS 2010 SP1,Target Framework 4.0生成的.VSTO: 为dependentAssembly的hash提到的DigestMethodalgorithm是SHA1,即使使用SHA2证书。 <dependentAssembly dependencyType="install" codebase="ExcelAddIn1.dll.manifest" size="18274"> <assemblyIdentity name="ExcelAddIn1.dll" version="1.0.0.1" publicKeyToken="2142698160a31911" language="neutral" processorArchitecture="msil" type="win32" /> <hash> <dsig:Transforms> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <dsig:DigestValue>DIGEST VALUE</dsig:DigestValue> </hash> </dependentAssembly> 在publisherIdentity标签下,所使用的SignatureMethod和DigestMethod是SHA256 ,它是根据证书的algorithm。 <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> 由VS […]

checkbox的OnAction不会做任何事情

我有一个菜单中的多个checkbox的自定义function区: <?xml version="1.0" encoding="UTF-8"?> <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load"> <ribbon> <tabs> <tab id="ribbon" label="Ribbon"> <group id="ribbonGroup" label="Group"> <menu id="menu" label="Menu"> <checkBox id="checkbox1" label="Checkbox 1" visible="true" onAction="OnCheckboxChanged"/> <checkBox id="checkbox2" label="Checkbox 2" visible="true" onAction="OnCheckboxChanged"/> <checkBox id="checkbox2" label="Checkbox 2" visible="true" onAction="OnCheckboxChanged"/> </group> </tab> </tabs> </ribbon> </customUI> 这是相应的C#代码: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.InteropServices; using […]

Excel自动化,如何检测用户是否在Excel工作表中运行macros或单击“运行macros”CommandBarControl?

.net自动化库中是否有一些事件可以检测到正在使用excel文件的用户运行macros? 例如,用户打开一个包含macros的excel文档,比他运行macros和.net应用程序,附加到该excel进程检测到macros的开始事件? 或者可能将macrosfunction绑定到应用程序中的委托事件。 编辑: 可以从后面的代码中捕获“运行macros”CommandBarControl点击事件?

Spreadsheet从.NET应用程序或VSTO加载项比较(Office 2013)自动化

是否可以通过embedded一些Microsoft程序集从.NET应用程序或VSTO Excel加载项自动化Office 2013的新电子表格比较工具? 一个类似的问题被要求进行VBA编程,答案是否定的。 我设法执行命令行中的应用程序“C:\ Program Files文件(x86)\ Microsoft Office \ Office15 \ DCF \ SPREADSHEETCOMPARE.EXE”作为input参数包含两个工作簿path在单独的行,但它会更容易直接从代码中调用方法,至于Excel的其他function。

如何使用Installshield 2008为Excel创buildVSTO(COM)Addin的InstallShield安装程序

我在Excel 2010的Visual Studio Tools for Office(VSTO)中创build了一个com addIn,我想为最终用户创build一个exe安装文件。 我GOOGLE了这个问题,但我能find的是使用Visual Studio的解决scheme。 我想用Installshield程序创build设置。

.NET VSTO – Excelfunction区选项卡标签为空,但仅限于Excel的第一个实例

所以我是一个适度的VSTO开发者,但是我的一个插件有一个新的问题。 加载项安装并运行得很好,但是无论什么原因,当打开Excel的第一个实例时(例如,当前没有其他工作簿打开),加载项的function区选项卡标签为空(见下文)。 要清楚,这个问题只出现在Excel的第一个实例上。 如果使用Ctrl+N或“ File–>New打开另一个工作簿,则新工作簿上的标签显示正常(尽pipe第一个工作簿仍将显示空白标签)。 此外,在任何人询问之前,function区选项卡types设置为自定义 ,而不是Office 。 更糟糕的是,我不能在计算机上重现问题,只能在客户的计算机上重现问题。 有没有人见过或听说过这个问题? 如果是这样,一个链接将有助于巨大的。 UPDATE 所以我解决了这个问题,但我仍然不是100%确定如何。 在色带的加载事件中有一个错误,我处理不好,并以某种方式使标签短路。 我对这个错误的处理做了一些改变(并修复了错误),现在标签正确显示了。 另一个更新 问题已经返回。 有任何想法吗? 我会添加一个奖励鼓励。

如何从Excel中的公式调用VSTO函数?

我希望能够在excel工作表中调用由单元格中的VSTO插件显示的函数。 更具体地说,如果我有一个返回“bar”的VSTO函数Foo(),我希望能够在A1中写入= Foo(),计算时计算为“bar”。 这可能吗? 我需要采取哪些关键步骤? 能够利用托pipe代码和VS08 IDE进行excel开发的前景非常吸引人。 我认为VSTO会让我轻松做到这一点,但我不能确定。 我误解了这里的build筑吗? 该文件是有点粗制滥造。

VSTO WPF ContextMenu.MenuItem在没有引发的TaskPane之外单击

当光标位于任务窗格之外时,不会引发Click事件forms的上下文菜单项。 我不知道如何得到它的工作。 90%的时间,点击是在任务窗格之外。 当上下文菜单打开时,子菜单通常显示在任务窗格之外(参见下图)。 在这种情况下,不会引发上下文菜单中的点击事件。 我绝对不知道如何做这个工作。 有任何想法吗?

C#VSTO Excel 2007 – 禁用隐藏/取消隐藏button

我正在开发Excel VSTO 2007应用程序。 我想知道是否有一种方法可以禁用Hide和Unhidebutton目前在Excel的视图选项卡。 编辑:我正在寻找一种方式来编程使用C#代码 。 旧的vba可能是有用的。 我搜查了很多,找不到任何特定的解决scheme。

是否有可能从VSTO中的Range.Value得到一个int?

我有一个VSTO插件,我正在读取Excel工作表中的数据。 看起来,几乎所有的数字数据都是以doubleforms读取的。 是否有可能从Range.Value得到一个int值? 这里有一些代码来演示我的意思。 Worksheet w = (Worksheet)Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets["Sheet1"]; var value = ((Range)w.Cells[1, 1]).Value; bool isInt = value is int; bool isDouble = value is double; 无论我在工作表Sheet1,单元格A1中使用哪种格式, isInt总是返回false。 有什么格式我应该用来获得int ? 我想也许General或0将工作,但似乎不是。