Tag: j#

Excel Interop与J编程语言COM服务器

我对函数式数组语言J有一些乐趣。但是,公开的例子说明如何从Excel访问J似乎有几个版本。 我可以成功地连接到J,并从简单的标量计算检索值,但不能检索数组。 已发布的示例没有错误,但只返回数组的一部分,其他每个元素都为零。 我正在使用64位J-7.01和64位Microsoft Excel 2010.是否有人知道一些发布的示例代码,可能会指导我正确的方向?

如何在Excelmacros中使用JavaScript?

这里有一个非常酷的差异类: http://code.google.com/p/google-diff-match-patch/ 我之前在一些网站上使用过,但现在我需要在 Excelmacros中使用它来比较两个单元格之间的文本。 但是,它只能在JavaScript,Python,Java和C ++中使用,而不能在VBA中使用。 我的用户仅限于Excel 2003,因此纯.NET解决scheme将无法工作。 手动将代码翻译成VBA会花费太多时间,难以升级。 我考虑的一个select是使用.NET编译器(JScript.NET或J#)编译JavaScript或Java源代码,使用Reflector输出为VB.NET,然后将VB.NET代码手动降级到VBA,给我一个纯粹的VBA解决scheme。 在使用任何.NET编译器进行编译之后,我放弃了这个path。 假设我可以得到一个可用的.NET库,我也可以使用ExcelDna( http://www.codeplex.com/exceldna )这个开放源码的Excel加载项来简化.NET代码集成。 我最后的想法是托pipe一个Internet Explorer对象,发送它的JavaScript源,并调用它。 即使我得到这个工作,我的猜测是这将是泥泞缓慢和凌乱。 更新:find解决scheme! 我使用了接受的答案在下面描述的WSC方法。 我不得不稍微更改一下WSC代码来清理差异,并给我一个VBA兼容的数组数组: function DiffFast(text1, text2) { var d = dmp.diff_main(text1, text2, true); dmp.diff_cleanupSemantic(d); var dictionary = new ActiveXObject("Scripting.Dictionary"); // VBA-compatible array for ( var i = 0; i < d.length; i++ ) { dictionary.add(i, JS2VBArray(d[i])); } return […]