我创建了一个包含许多函数的C ++ DLL,我通过VBA从excel表中调用它们。我面临的问题如下:
我有很多电子表格单元格每隔N秒同时调用相同的函数,更新excel书需要一段时间。如果单独调用,则每次运行都非常有效,但是当多个单元调用该函数时,它会运行序列化并且耗时太长。
我的问题是,我怎样才能获得更好的解决方案?我想如果可能同时调用相同的函数并在并行或类似的东西上运行,那么我可以更快地执行例程。
由于
答案 0 :(得分:0)
您需要在XLL中使您的C ++函数直接可调用多线程UDF:然后Excel的计算引擎将利用多核来利用多线程。
为此,您需要使用Excel'C'Api SDK
https://msdn.microsoft.com/en-us/library/office/bb687829.aspx
https://msdn.microsoft.com/en-us/library/office/bb687883.aspx