|
在 Excel 2007 編寫串口通訊程序,使用 MSCOMM 控件,在讀取數據時,返回的字符串為 ANSI 字符串。 要在 Excel 2007 的環(huán)境中正常顯示,就會出現無法識別的字符格式。把這種字符串經過 StrConv(S, vbUnicode)轉換后,就能正常顯示。
但是把這個程序導入到 Excel 2003 之后,發(fā)現讀數都是錯的。再檢查其原因,發(fā)現通過 MSCOMM.input 返回的字符串,已經不需要轉換為 Unicode 格式。這些數據能直接在 Excel 應用中顯示,轉換了就會出錯。因此只好增加一個對 Excel 的版本判斷的語句。 if Application.Version >=12.0 then ... 。Excel 2003 的版本號為 11. Excel 2007 的版本號為12。這樣系統(tǒng)才能正常工作。
這個問題的內在原因尚不清楚。
|
|