在COM模式下(例如直接调用EXCEL功能操作XLS文件),存在有ERROR类型数据,其特性如下:
ERROR从COM转换为TSL数据类型:转为NAN,错误号可以使用cverrget函数在这个NAN数据中来获得,cverrget出来的结果仅应使用低32位,也就是需要用 .& 0xFFFFFFFF,因为高字的数据是无法确定的。
从TSL转换为COM类型:提供cverr函数转为包含错误号的特殊的NAN数据,例如,cverr(0x800A07D7)对应EXCEL的除零错,cverr(0x800A07FA)对应错误NA,cverr(0x800A07ED)对应错误NAME,cverr(0x800A07D0)对应错误空,cverr(0x800A07F4)对应错误数据,cverr(0x800A07E7)对应错误引用,cverr(0x800A07DF)对应错误值。
这些错误常量是EXCEL自身定义的。
当使用EXCELSETCELL或者EXCELSETCELLS函数的时候,系统会自动转换NAN和INF到相应的错误。如果NAN是由CVERR转换而成的特殊错误,则会映射成特殊的ERROR数据。