Tag: excel dna

Excel公开了COM API与C-API的区别

我正在使用ExcelDNA库,它似乎使用Excel的C-API和COM接口的组合。 这些接口在Excel实现方面有什么不同? 从Microsoft网站( https://msdn.microsoft.com/en-us/library/office/bb687829.aspx ): “ 自定义Excel用户界面 对于许多版本的Excel,C API并不是定制用户界面的最佳select。 VBA拥有Excel对象和事件的优越访问权限。 Excel 2007中引入的用户界面与早期版本在外观和底层技术上有很大的不同。 您可以使用托pipe代码资源来最好地自定义此接口。“ 是什么让COM比C-API更适合编辑Excel的UI?

用于确定货币或双倍的UDF方法

我在VB.NET中创build了一个UDF ,它有时与currency ,我需要在VB使用Decimal格式。 但是有时候我会用time或者简单的double 。 用什么方法来确定我应该如何增加数值,用decimal还是double ? 为了简单起见,我不想让excel返回实际的范围,但是如果我需要确定它是否被格式化为货币,则会这样做。

代码转换 – MFC C ++到C#中的VSTO Excel插件

我在C#.NET4.0中将MFC C ++ COM Addin转换为VSTO Excel Addin。 有很多代码指的是C API。 这是一个例子。 我可能会使用Excel DNA来简化我的转换任务。 FYI:xlr是XLSDK中的一个类。 //allocate local storage for the reference m_pControllerReference = new xlr( controllerRange ) ; //get the name of the book and sheet with the reference g->Excel.fn( xlSheetNm, *m_pControllerReference ) ; if ( g->Excel.resultXltype() != xltypeErr ) { m_referenceSheetName = g->Excel.resultCString() ; // and […]

使用ExcelDna将Excel屏幕更新为False

我正在尝试使用ExcelDna将Excel屏幕更新设置为false。 我不想使用COM。 使用其XlCall是首选。 有人可以帮忙吗?

用C#代码Excel-Dna切换隐藏function

我正在尝试使用Excel-DNA ,我试图find一种方法来切换自定义函数的IsHidden属性,但是我不能,因为它是一个常量属性 [ExcelFunction(name = "test", Description = "test function", IsHidden = SomeVar)] 当用户设置设置时,我想隐藏它们,并在设置closures时将其切换回可见状态。

Excel-DNA将自定义数据保存到工作表(不是单元格)

我希望有一种方法可以将自定义数据从Excel-DNA插件保存到工作簿中。 用户可以从自定义Excel-DNA表格中input内容。 我意识到这可以保存到单元格,但我不希望用户看到或更改数据.. 有没有一种方法可能将自定义的XML文件附加到工作簿,或添加隐藏的工作表? 詹姆士

Excelfunction区下拉背景颜色

我已经创build了一个Excelfunction区,其中有一个用户切换到我们的插件的不同环境的下拉列表,有没有一种方法,我可以给下拉select的值的背景颜色,所以说现场的情况下,我可以显示生活在红色的背景下,开发与绿色背景同样

类库中的System.NullReferenceException

我试图在app.config中configuration一些连接string,但不断收到此错误消息, System.NullReferenceException: Object reference not set to an instance of an object. 我已经看过networking上的众多解决scheme,但没有直接适用, 我将app.config文件复制到目标目录 我引用了System.Configuration并使用ConfigurationManager XML /源代码几乎是Microsoft 指南的逐字拷贝 唯一的区别是该项目是一个类库,我通过ExcelDNA暴露给Excel。 有什么特别的,我需要做的,以使其与Excel的工作? 这是XML的一个片段, <configuration> <connectionStrings> <add name="ConnectionCSV" providerName="System.Data.OleDb" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;" /> </connectionStrings> </configuration> 这是源代码(已经得到using System.Configuration以及必要的参考), string constr = ConfigurationManager.ConnectionStrings["ConnectionCSV"].ConnectionString; 上面一行将引发Object reference not set to an instance of an object错误Object reference not set to an instance of an object […]

Excel对象模型中触发了哪些事件

VS2008,.NET35,Excel AddIn,Excel-DNA,NetOffice为了禁用/启用function区button,我捕获了3个事件(例如,如果用户select一个单元格,单元格的公式是MyUDF1,那么button/菜单项不相关到MyUDF1将变灰。) XLApp.SheetSelectionChangeEvent += ApplicationSheetSelectionChange; XLApp.SheetDeactivateEvent += SheetDeactivatedEvent; XLApp.SheetCalculateEvent += ApplicationSheetCalculate; 然而,当用户复制整个工作表并粘贴到另一个工作表,或者当用户select列并进行自动调整,Excel似乎挂起2-3分钟,这是一个巨大的性能打击任何人都知道一个解决scheme? 非常感谢! 您好,如果有一些工具可以在客户端PC上运行,以便在复制/粘贴时发现Excel中发生了什么事情? 我尝试过程监视器,但它似乎不够详细,我不能从那里得到任何有用的信息。

Web请求在Excel AddIn中的Excel启动时运行

我有一个Excel AddIn,当Excel启动时,它将访问一个Web服务(GET),这是一个简单的Web服务请求,应该立即完成说:类似于https://mywebservice.com&application=myapp&user=currentuser ,结果是一个短(<200bytes)的JSONexpression式。 如果我在浏览器中运行这个请求,它就像预期的那样很快。 在我的AddIn中,我经常logging从Web请求的开始到结束的时间(大约40-50%的时间)需要3-5秒,而其他时间,从浏览器运行起来真的很快。 如果速度慢,Excel没有响应,只需在状态栏中显示“注册MyaddIn.xll …”即可。 我很困惑,不知道如何debugging/解决这个问题。 谢谢 这里是我用来调用Web服务的C# private static int DownloadInfoFromServer(string entUrl, string localFilename) { // Function will return the number of bytes processed // to the caller. Initialize to 0 here. int bytesProcessed = 0; // Assign values to these objects here so that they can // be referenced in the […]