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框架相关。

您不能调用一个名称为单元格地址的函数(用作UDF)( A1XFD1048576 )。 同样的规则适用于命名范围。