|
在 Excel 2007 编写串口通讯程序,使用 MSCOMM 控件,在读取数据时,返回的字符串为 ANSI 字符串。 要在 Excel 2007 的环境中正常显示,就会出现无法识别的字符格式。把这种字符串经过 StrConv(S, vbUnicode)转换后,就能正常显示。
但是把这个程序导入到 Excel 2003 之后,发现读数都是错的。再检查其原因,发现通过 MSCOMM.input 返回的字符串,已经不需要转换为 Unicode 格式。这些数据能直接在 Excel 应用中显示,转换了就会出错。因此只好增加一个对 Excel 的版本判断的语句。 if Application.Version >=12.0 then ... 。Excel 2003 的版本号为 11. Excel 2007 的版本号为12。这样系统才能正常工作。
这个问题的内在原因尚不清楚。
|
|