Tag: xlw

Excel XLL插件可以有多less内存?

我正在使用C ++编写Microsoft Excel的.XLL插件,在XLW库的帮助下。 我的操作系统是Windows 7 64位版本,32 GB RAM; 但我的Excel是Excel 2010,32位版本。 使用GlobalMemoryStatusEx检查,它显示XLL中的代码只能看到大约1200 MB的可用虚拟内存(来自struct _MEMORYSTATUSEX中的 ullAvailVirtual ),尽pipe可用的物理内存( ullAvailPhys )大约为23 GB。 由于我的代码需要相当多的内存(每个计算线程大约100MB),所以在发出12个线程之后,它会遇到错误的分配错误。 有没有办法增加可用内存? 这是Excel XLL插件的限制吗? 在控制台应用程序中, GlobalMemoryStatusEx报告大约2034 MB可用的虚拟内存。 这是XLW library的限制吗? 这是32-bit Excel的限制吗?

在Excel VBA中注销并注册XLL

我有一个工作表,当加载得到一个path加载XLL。 我需要一个VBAmacros,可以注销该XLL并注册一个新的。 我知道如何注册一个新的XLL。 我怎样才能取消注册原来的XLL? 我发现这个代码: Application.ExecuteExcel4Macro "UNREGISTER(""ADDIN.xll"")" 但是这既不删除原来的函数名称(尽pipe它似乎使它们无法使用),它不会添加新的XLL。 该DLL是用c ++ \ XLW创build的,所以我也可以访问这个代码,如果可以的话。 谢谢,斯坦

如何从无法注册到函数向导的xll加载项调用函数?

我有一个xll(一个相当复杂的c ++项目)导出一个函数,由于历史原因,需要大量的参数,正好20 。 这是一个神奇的数字:显然,在Excel 2003中最多有30个参数(“在Microsoft Office Excel 2003中,任何函数可以使用的参数的最大数量是30,尽pipe大多数less于这个”)。 超过20个function不能在function向导中注册 。 现在,正如你所猜测的,我已经被要求增加3个参数。 好的,所以参数计数可以达到23(至less,这个函数不是为了“人类消耗”,而是总是由VBA包装来调用)。 通过使用VC ++debugging器附加到Excel进程,我在注册时得到错误代码4,代表xlretInvCount 。 我已经确保逗号分隔参数名称的string是短于255个字符 。 顺便说一句,我使用xlw 4(旧版本,我知道)。 所以,如果限制是30我希望能够通过调用我的function Application.Run("function name", ….. very long list of arguments) 但不使用向导。 麻烦的是,VBA告诉我,该function没有注册。 那么,我该如何正确使用一个花费超过20个参数但less于30个的函数呢? 注意:请不要陈述明显。 我知道问题的真正关键在哪里。 重构目前是不可能的。

Excel工作表将所有数据写入一列

我有一个问题写我的文本到Excel表: 这是我的代码: import xlwt wbk = xlwt.Workbook() sheet = wbk.add_sheet('python') row = 0 # row counter col = 0 f = open('newfile.txt') for line in f: L = line.split('\t') for c in L: sheet.write(row,col,c) row += 1 wbk.save('example12.xls') 这里是input.txt : Ename DCname Competency Effort Eng01 DC1 SW 30 Eng02 DC2 HW 30 Eng03 DC3 ME […]

DLL函数名称限制 – 函数名称末尾的数字是否正确?

我正在使用Xlw框架,它为在Excel中编写C ++加载项提供了方便的包装。 我遇到了一个问题:当我在Excel中命名一个用于Excel的Excel函数时,该函数在Excel中没有被“暴露”(即由加载项加载)。 当我删除最后一位数字,或者在函数名称中包含数字,但用非数字结束函数时,它显得很好。 AddTwo(double x) // available in Excel Add123Two(double x) // available in Excel Add2(double x) // not available in Excel (C ++ Excel加载项简单地将.dll重命名为.xll以及.dll内容中的其他一些细节)。 我还没有看到任何相关的Microsoft命名限制导出的.dll函数,但我的问题是:是否可以创build一个导出的.dll函数的数字作为其最后的字符? 如果是这样,我猜这个问题是Excel或Xlw框架相关。