2 回答

TA貢獻1811條經驗 獲得超5個贊
一、vbusecompareoption 是參數的名稱,它有三個值,分別是
vbBinaryCompare 0 執行一個二進制比較。
vbTextCompare 1 執行一個按照原文的比較。
vbDatabaseCompare 2 僅適用于Microsoft Access,執行一個基于數據庫信息的比較。
注意,vbusecompareoption 本身不是參數值?。?!
所以,你的strcomp(str1,str2,vbusecompareoption)這個會返回”錯誤”。因為參數“vbusecompareoption”對VBA來說,是一個未定義的參數。
二、strcomp(str1,str2,vbbinarycompare)返回 -1
二進制比較的是按二進制字節進行比較。
三、strcomp(str1,str2,vbtextcompare)返回 -1
二進制代碼比較遵循 "0111010101010101010110000000000011"的規則

TA貢獻1794條經驗 獲得超8個贊
vbUseCompareOption是根據模塊頭的Option Compare語句來確定比較的。
當是Option Compare Text 時,則是 vbTextCompare比較,當是Option Compare Binary時,則是 vbBinaryCompare 比較,如果模塊中沒有 Option Compare 語句,則缺省的文本比較方法是 Binary。
比較規則和字符串長度無關,如果第一個字符不同,則只比較第一個字符,如果相同,接著再比較第二個字符,直到碰到第一個不同的字符,后面的字符就忽略了。
添加回答
舉報