Tag: excel dna

ExcelDna支持的任何事件?

我想在Excel中初始化一些variablesDna .dll被加载到Excel中?

使用Excel-DNA,如何将Excel插件函数调用中未指定的参数与缺失的函数区分开来?

这个问题是关于Excel-DNA对于在Excel中调用附加函数的解释。 在Excel中, 未指定和缺less的参数是不一样的。 这可以通过IF函数来看到(它有两个必需的参数,后面跟着一个可选的参数): =IF() – 这是无效的 =IF(,) – 返回FALSE =IF(,,) – 返回0 我使用ExcelIntegration.RegisterDelegates()方法在Excel中注册加载函数,注册函数如下: Delegate del = new Func<object, object, object, object>((a, b, c) => a.ToString() + " " + b.ToString() + " " + c.ToString()); var fnAttr = new ExcelFunctionAttribute { Name = "TestFunc", Category = "ExcelDnaTest", Description = "Test function", IsHidden = false […]

使用Excel-Dna查找Excel公式的出现

使用Excel-Dna我想在Excel实例中search所有打开的工作簿中特定公式的出现次数。 到目前为止,我的最佳预感是我需要XlCall xlcFormulaFind函数,如下所述: XlCall.TryExcel(XlCall.xlcFormulaFind, out result, "MyFunc", 1, 2, 1); 不过,我只是得到一个ExcelError返回,并不知道如何深入挖掘。 任何build议感激地收到。

ExcelDna / NetOffice / Excel:插入值的最有效方法?

我使用ExcelDna和NetOffice为Excel创build插件,并从各种来源获取数据并将其插入到工作表中。 我的问题是在工作表中插入数据非常慢。 将值块插入Excel的最有效方法是什么? ResultCell[,] result = _currentView.GetResult(values, cursor); int loopM = result.GetUpperBound(0); int loopN = result.GetUpperBound(1); for (int y = 0; y <= loopM; y++) { for (int x = 0; x <= loopN; x++) { int a = xlCurrentCell.Row + row; int b = xlCurrentCell.Column + x; Excel.Range xlCell = (Excel.Range)xlActiveSheet.Cells[a, b]; _SetValue(xlCell, result[y, […]

在“插入function”提示中禁用excel UDF计算

有什么办法来禁用一个Excel的UDF函数(我目前正在使用excel的DNA库),当它被称为“插入function”提示? 我的Excel UFD函数使Web服务调用,并在“插入函数”提示上的这种行为是重载服务器(每个用户键入调用函数)。 有人知道如何禁用此function?

我如何定期将Excel数据发布到Web服务?

我有一个用户的要求,我一直在争取一段时间没有成功。 我需要编写一个插件,可以每隔几分钟读取一次(特定电子表格的)100个公式驱动的单元格,并发送到Web服务。 我非常乐意使用Excel-DNA或VSTO,但是迄今为止我尝试过的一切都会导致用户界面暂时挂起。 如果从活动电子表格(即使是从不同的线程)读取数据,情况总是如此吗?

Excel DNA如何获取电子表格中每个小改动的事件?

开发Excel电子表格实时共享应用程序我被困在如何获取边界变化,颜色变化,多单元格编辑等事件…(使用VSTO,但问题仍然存在…) 我试过Excel的DNA,使RTD服务器获得实时数据,但如何发送到RTD服务器表中的变化? 我正在尝试.NET反应式扩展,但如何编写Excel电子表格变化的自定义事件?

将用F#编写的用户自定义函数导入VBA子例程

我目前使用Excel DNA在F#中编写函数,并将它们作为公式导入到Excel中。 每当select一个单元格,我可以调用通过Excel DNA导入的任何function。 但是,当试图创build一个新的macros时,我只能调用我的代码中的内置公式,而不是用户定义的公式。 例如,如果我写下面的内容: Sub a() Range("A1").Value = ActiveWorkbook.Application.WorksheetFunction.Sum(2, 3) End Sub macros能够在单元格A1中input“5”。 但是,如果我有通过Excel DNA导入的F#编写的函数,则上述逻辑不适用,因为该函数未在ActiveWorkbook.Application.WorksheetFunction下列出。 用户定义的函数/公式位于何处?

跟踪工作簿和工作表重命名

在基于Excel-DNA的插件中重命名工作簿或工作表时,是否有办法获取事件? 显然,Application对象不直接公开这些事件。

使用Excel DNA将Microsoft脚本运行时字典从VBA传递到C#

我对C#和Excel DNA很新。 我目前有一些数据存储在Microsoft脚本运行时字典中,我想传递给我用C#编写的一些方法。 我在C#中创build了一个简单的方法(称为FetchDictionary)将字典作为input,并返回一个整数回到VBA,但我得到一个错误说:“无法运行macros'FetchDictionary'。macros可能不会在此工作簿中可用或所有的macros可能被禁用“当我尝试调用其他函数,我只是传递一个双数组例如我不会遇到这个问题。 我已经添加了一个对我的C#的引用 下面是VBA和C#函数 VBA: Sub test() Dim test As New Dictionary Dim check As Integer test.Add "1", 1 check = Application.Run("FetchDictionary", test) End Sub C#: public static int FetchDictionary(Scripting.Dictionary Dict) { int check = Dict.get_Item("1"); return check; } 我真的很感激任何人的帮助谢谢