mid(字符串,從第幾個開始,長度) ByRef 在[字符串]中[從第幾個開始]取出[長度個字符串]
例如 mid("小欣無敵",1,3) 則返回 "小欣無"
instr(從第幾個開始,字符串1,字符串2) ByVal 從規(guī)定的位置開始查找,返回字符串2在字符串1中的位置
例如 instr(1,"小欣無敵","小") 則返回 1,instr(2,"小欣無敵","小"),則返回 0 。 0 表示未找到
InStrRev(字符串1,字符串2,從第幾個開始) ByVal 從規(guī)定的位置開始,從后住前查找,返回字符串2在字符串1中的位置,此處注意,雖是從后住前查找,但是返回的值還是從前往后算的。
例如 instrRev("小欣無敵","小",2) 則返回 2 ; instrRev("小欣無敵","欣",1) 則返回 0 ,因?yàn)樗鼜?/span>"小欣無敵"的第1個字開始往前查找,所以找不到 。0 表示未找到
left(字符串,長度) ByVal 從[字符串]的左邊開始返回[長度]個字符
例如 Left("小欣無敵,3) 則返回 "小欣無"
right(字符串,長度) ByVal 從[字符串]的右邊開始返回[長度]個字符
例如 Right("小欣無敵",3) 則返回 "欣無敵"
ucase(字符串) ByVal 返回[字符串]的大寫形式,只對英文字符有效
例如 ucase("xiaoXINwuDi") 則返回 "XIAOXINWUDI"
lcase(字符串) ByVal 返回[字符串]的小寫形式,只對英文字符有效
例如 lcase("xiaoXINwuDi") 則返回 "xiaoxinwudi"
asc(字符) Byval返回[字符]的ascii編碼,若有多個字符,則只返回首字符的ascii編碼,和Chr()函數(shù)是一個可逆的過程
例如 asc("小") 則返回 -12127 ; asc("小欣無敵") 也返回 -12127
chr(ASCii編碼) Byval 返回[Ascii]編碼所代表的字符,和Chr()函數(shù)是一個可逆的過程
例如 chr(-12127) 則返回 "小" ;chr(asc("小")) 則返回"小"(這里是為了說明asc和chr的可逆性,例用此特性可以加密文本)
trim(字符串) Byval 返回去掉了前、后之后的[字符串]
例如 trim(" 小 欣 無敵 ") 則返回 "小 欣 無敵" ,中間的空格不受任何影響
string(個數(shù),字符) Byval 返回[個數(shù)]個[字符]
例如 string(3,"小") 則返回 "小小小" , 而 string(3,"小欣無敵") 也返回 "小",只有首字符才有效
space(個數(shù)) Byval 返回[個數(shù)]個空格
例如 space(5) 則返回 " "
strconv(字符串,轉(zhuǎn)換的類型) Byval 將字符串轉(zhuǎn)成指定的類型。常用的類型只有兩個,vbwide 半角轉(zhuǎn)成全角,vbNarrow 全角轉(zhuǎn)成半角
例如 strconv("xiao",vbwide) 則返回 "XIAO",而strconv("XIAO",vbnarrow) 則返回 "XIAO"
’備注 vbwide = 4 ,vbnarrow = 8
len(字符串) Byval 返回[字符串]的長度
例如 len("小欣無敵") 則返回 4
字節(jié)操作函數(shù)
midb()
leftb()
rightb()
chrb()
lenb()
UNICODE的ASC碼處理
chrw()
ascw()
去空格
ltrim
rtirm
拆分合并
split()
join()
翻轉(zhuǎn)
srereverse()
替換
replace()
AscB(String As String) As Byte
返回字符串中第一個字節(jié)的值
例如:AscB("坦然")則返回102
AscW(String As String) As Integer
返回字符串中第一個字符的本機(jī)字符代碼 (Unicode 或 ANSI)
例如:AscW("坦然")則返回22374
ChrW(CharCode As Long)
返回一個包含指定本機(jī)字符的字符串(Unicode 或 ANSI)
例如:ChrW(22374)則返回"坦"
Filter(InputStrings, Value[, Include[, Compare]])
返回一個下標(biāo)從零開始的數(shù)組,該數(shù)組包含基于指定篩選條件的一個字符串?dāng)?shù)組的子集。
InputStrings 必需的。要執(zhí)行搜索的一維字符串?dāng)?shù)組。
Value 必需的。要搜索的字符串。
Include 可選的。Boolean值,表示返回子串包含還是不包含Value字符串。如果Include是True,Filter返回的是包含Value子字符串的數(shù)組子集。如果Include是False,Filter返回的是不包含Value子字符串的數(shù)組子集。
Compare 可選的。數(shù)字值,表示所使用的字符串比較類型。有關(guān)其設(shè)置,請參閱下面的“設(shè)置值”部分。
Compare參數(shù)的設(shè)置值如下:
vbUseCompareOption –1 使用Option Compare語句的設(shè)置值來執(zhí)行比較。
vbBinaryCompare 0 執(zhí)行二進(jìn)制比較。
vbTextCompare 1 執(zhí)行文字比較。
vbDatabaseCompare 2 只用于Microsoft Access?;谀臄?shù)據(jù)庫信息來執(zhí)行比較。
例如:
Dim a(3) As String
a(0) = "坦"
a(1) = "坦然"
a(2) = "坦然面"
a(3) = "坦然面對"
b = Filter(a, "然")
則b(0) = "坦然"
b(1) = "坦然面"
b(2) = "坦然面對"
Join(list[, delimiter]) As String
返回一個字符串,該字符串是通過連接某個數(shù)組中的多個子字符串而創(chuàng)建的。
list 必需的。包含被連接子字符串的一維數(shù)組。
delimiter 可選的。在返回字符串中用于分隔子字符串的字符。如果忽略該項(xiàng),則使用空格(" ")來分隔子字符串。如果delimiter是零長度字符串(""),則列表中的所有項(xiàng)目都連接在一起,中間沒有分隔符。
例如:
Dim a(3) As String
a(0) = "坦"
a(1) = "坦然"
a(2) = "坦然面"
a(3) = "坦然面對"
b = Join(a, "+")
則b = "坦+坦然+坦然面+坦然面對"
LeftB(String, Length As Long)
從一個字符串的左邊起返回指定數(shù)目的字節(jié)
例如:
a = LeftB("坦然面對", 4)
則a = "坦然"
LenB(Expression)
返回存儲一個變量所需的字節(jié)數(shù)
例如:a = LenB("坦然面對")
則a = 8
LTrim(String)
返回?zé)o前導(dǎo)空格的字符串的備份
RTrim(String)
返回一個無后綴空格的字符串的備份
例如:
a = LTrim(" 坦然面對 ")
b = RTrim(" 坦然面對 ")
則a = "坦然面對 "
b = " 坦然面對"
MidB(String, Start As Long, [Length])
從一個字符串中返回指定數(shù)目的字節(jié)
例如:
a = MidB("坦然面對", 3, 4)
則a = "然面"
MonthName(Month As Long, [Abbreviate As Boolean = False]) As String
返回一個表示指定月份的字符串。
abbreviate 可選的。Boolean值,表示月份名是否縮寫。如果忽略,缺省值為False,表明月份名不能被縮寫。
例如:
a = MonthName(5)
則a = "五月"
Format(expression[, format[, firstdayofweek[, firstweekofyear]]])
返回 Variant (String),其中含有一個表達(dá)式,它是根據(jù)格式表達(dá)式中的指令來格式化的。
expression 必要參數(shù)。任何有效的表達(dá)式。
format 可選參數(shù)。有效的命名表達(dá)式或用戶自定義格式表達(dá)式。
firstdayofweek 可選參數(shù)。常數(shù),表示一星期的第一天。
firstweekofyear 可選參數(shù)。常數(shù),表示一年的第一周。
firstdayofweek 參數(shù)有下面設(shè)置:
vbUseSystem 0 使用 NLS API 設(shè)置。
VbSunday 1 星期日(缺?。?/span>
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 參數(shù)有下面設(shè)置:
vbUseSystem 0 使用 NLS API 設(shè)置。
vbFirstJan1 1 從包含一月一日的那一周開始(缺?。?/span>
vbFirstFourDays 2 從本年第一周開始,而此周至少有四天在本年中。
VbFirstFullWeek 3 從本年第一周開始,而此周完全在本年中。
示例
a = Format(#4/19/2008 1:01:05 PM#, "yyyy-mm-dd,ddd,hh:mm:ss")
a = "2008-04-19,Sat,13:01:05"
a = Format(#4/19/2008 1:01:05 PM#, "yyyy-mm-dd,dddd,h:m:s")
a = "2008-04-19,Saturday,13:1:5"
a = Format(#4/19/2008 1:01:05 PM#, "m-d-yy ampm h/m/s")
a = "4-19-08 PM 1-1-5"
a = Format(1234567.89, "#,#.#00")
a = "1,234,567.890"
a = Format(0.12358, "#%")
a = "12%"
a = Format(0.12358, "#.#0%")
a = "12.36%"
a = Format(0.12358, "#.#000%")
a = "12.3580%"
a = Format("TaNrAnMiAnDuI", ">")
a = "TANRANMIANDUI"
a = Format("TaNrAnMiAnDuI", ">")
a = "tanranmiandui"
總之,Format功能很強(qiáng)大,可替代許多函數(shù)。
FormatCurrency(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])
返回一個貨幣值格式的表達(dá)式,它使用系統(tǒng)控制面板中定義的貨幣符號。
Expression 必需的。要格式化的表達(dá)式。
NumDigitsAfterDecimal 可選的。數(shù)字值,表示小數(shù)點(diǎn)右邊的顯示位數(shù)。缺省值為–1,表示使用計算機(jī)的區(qū)域設(shè)置值。
IncludeLeadingDigit 可選的。三態(tài)常數(shù),表示小數(shù)點(diǎn)前是否顯示一個零。
UseParensForNegativeNumbers 可選的。三態(tài)常數(shù),表示是否把負(fù)數(shù)值放在園括號內(nèi)。
GroupDigits 可選的。三態(tài)常數(shù),表示是否用組分隔符對數(shù)字進(jìn)行分組,組分隔符由計算機(jī)的區(qū)域設(shè)置值指定。
IncludeLeadingDigit、UseParensForNegativeNumbers 和 GroupDigits參數(shù)的設(shè)置值如下:
TristateTrue –1 True
TristateFalse 0 False
TristateUseDefault –2 使用計算機(jī)區(qū)域設(shè)置中的設(shè)置值。
示例
a = FormatCurrency(1234567.89)
a = ¥1,234,567.89
a = FormatCurrency(1234567.89, 0)
a = ¥1,234,568
a = FormatCurrency(1234567.89, 3)
a = ¥1,234,567.890
a = FormatCurrency(0.15, , vbFalse)
a = ¥.15
a = FormatCurre
FormatDateTime(Date[,NamedFormat])
返回一個日期或時間格式的表達(dá)式。
Date 必需的。要被格式化的日期表達(dá)式。
NamedFormat 可選的。數(shù)字值,表示日期/時間所使用的格式。如果忽略該值,則使用vbGeneralDate。
NamedFormat參數(shù)的設(shè)置值如下:
vbGeneralDate 0 顯示日期和/或時間。如果有日期部分,則用短日期格式顯示。如果有時間部分,則用長時間格式顯示。如果都有,兩部分都顯示。
vbLongDate 1 用計算機(jī)區(qū)域設(shè)置值中指定的長日期格式顯示日期。
vbShortDate 2 用計算機(jī)區(qū)域設(shè)置值中指定的短日期格式顯示日期。
vbLongTime 3 用計算機(jī)區(qū)域設(shè)置值中指定的時間格式顯示時間。
vbShortTime 4 用24小時格式(hh:mm)顯示時間。
示例
a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbGeneralDate)
a = 2008-4-19 14:54:23
a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbLongDate)
a = 2008年4月19日星期六
a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbShortDate)
a = 2008-4-19
a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbLongTime)
a = 14:54:23
a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbShortTime)
a = 14:54
FormatNumber(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])
返回一個數(shù)字格式的表達(dá)式。
Expression 必需的。要被格式化的表達(dá)式。
NumDigitsAfterDecimal 可選的。數(shù)字值,表示小數(shù)點(diǎn)右邊的顯示位數(shù)。缺省值為–1,表示使用計算機(jī)的區(qū)域設(shè)置值。
IncludeLeadingDigit 可選的。三態(tài)常數(shù),表示小數(shù)點(diǎn)前是否顯示零。
UseParensForNegativeNumbers 可選的。三態(tài)常數(shù),表示是否把負(fù)數(shù)值放在圓括號內(nèi)。
GroupDigits 可選的。的三態(tài)常數(shù),表示是否用組分隔符對數(shù)字分組,組分隔符在計算機(jī)的區(qū)域設(shè)置值中指定。
IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits參數(shù)的設(shè)置值如下:
TristateTrue –1 True
TristateFalse 0 False
TristateUseDefault –2 用計算機(jī)區(qū)域設(shè)置值中的設(shè)置值。
示例
a = FormatNumber(-1234567.89, 4, vbTrue, vbTrue, vbTrue)
a = (1,234,567.8900)
a = FormatNumber(-1234567.89, 4, vbFalse, vbFalse, vbFalse)
a = -1234567.8900
FormatPercent(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])
返回一個百分比格式(乘以100)的表達(dá)式,后面有%符號。
Expression 必需的。要格式化的表達(dá)式。
NumDigitsAfterDecimal 可選的。表示小數(shù)點(diǎn)右邊的顯示位數(shù)。缺省值為–1,表示使用計算機(jī)的區(qū)域設(shè)置值。
IncludeLeadingDigit 可選的。三態(tài)常數(shù),表示小數(shù)點(diǎn)前是否顯示零。
UseParensForNegativeNumbers 可選的。三態(tài)常數(shù),表示是否把負(fù)數(shù)放在圓括號內(nèi)。
GroupDigits 可選的。三態(tài)常數(shù),表示是否用組分隔符對數(shù)字進(jìn)行分組,組分隔符在計算機(jī)的區(qū)域設(shè)置值中指定。
IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits參數(shù)的設(shè)置值如下:
TristateTrue –1 True
TristateFalse 0 False
TristateUseDefault –2 使用計算機(jī)區(qū)域設(shè)置值中的設(shè)置值。
示例
a = FormatPercent(-1234567.89, 4, vbFalse, vbFalse, vbFalse)
a = -123456789.0000%
a = FormatPercent(-1234567.89, 4, vbTrue, vbTrue, vbTrue)
a = (123,456,789.0000%)
Replace(expression, find, replacewith[, start[, count[, compare]]])
返回一個字符串,該字符串中指定的子字符串已被替換成另一子字符串,并且替換發(fā)生的次數(shù)也是指定的。
expression 必需的。字符串表達(dá)式,包含要替換的子字符串。
find 必需的。要搜索到的子字符串。
replacewith 必需的。用來替換的子字符串。
start 可選的。在表達(dá)式中子字符串搜索的開始位置。如果忽略,假定從1開始。
count 可選的。子字符串進(jìn)行替換的次數(shù)。如果忽略,缺省值是 –1,它表明進(jìn)行所有可能的替換。
compare 可選的。數(shù)字值,表示判別子字符串時所用的比較方式。
compare參數(shù)的設(shè)置值如下:
vbUseCompareOption –1 使用Option Compare語句的設(shè)置值來執(zhí)行比較。
vbBinaryCompare 0 執(zhí)行二進(jìn)制比較。
vbTextCompare 1 執(zhí)行文字比較。
vbDatabaseCompare 2 僅用于Microsoft Access?;谀臄?shù)據(jù)庫的信息執(zhí)行比較。
示例
a = Replace("坦坦然坦然面坦然面對", "然", "對")
a = "坦坦對坦對面坦對面對"
a = Replace("坦坦然坦然面坦然面對", "然", "對", 5)
a = "對面坦對面對"
a = Replace("坦坦然坦然面坦然面對", "然", "對", , 2)
a = "坦坦對坦對面坦然面對"
RightB(String, Length As Long)
從字符串的右邊起返回指定數(shù)目的字節(jié)
示例
a = RightB("坦然面對", 4)
a = "面對"
Split(expression[, delimiter[, count[, compare]]])
返回一個下標(biāo)從零開始的一維數(shù)組,它包含指定數(shù)目的子字符串。
expression 必需的。包含子字符串和分隔符的字符串表達(dá)式 。如果expression是一個長度為零的字符串(""),Split則返回一個空數(shù)組,即沒有元素和數(shù)據(jù)的數(shù)組。
delimiter 可選的。用于標(biāo)識子字符串邊界的字符串字符。如果忽略,則使用空格字符(" ")作為分隔符。如果delimiter是一個長度為零的字符串,則返回的數(shù)組僅包含一個元素,即完整的 expression字符串。
count 可選的。要返回的子字符串?dāng)?shù),–1表示返回所有的子字符串。
compare 可選的。數(shù)字值,表示判別子字符串時使用的比較方式。
compare參數(shù)的設(shè)置值如下:
vbUseCompareOption –1 用Option Compare語句中的設(shè)置值執(zhí)行比較。
vbBinaryCompare 0 執(zhí)行二進(jìn)制比較。
vbTextCompare 1 執(zhí)行文字比較。
vbDatabaseCompare 2 僅用于Microsoft Access。基于您的數(shù)據(jù)庫的信息執(zhí)行比較。
示例
a = Split("坦 坦然 坦然面 坦然面對")
a(0) = "坦" ; a(1) = "坦然" ; a(2) = "坦然面" ; a(3) = "坦然面對"
a = Split("坦!坦然!坦然面!坦然面對", "!")
結(jié)果同上。
a = Split("坦!坦然!坦然面!坦然面對", "!", 2)
a(0) = "坦" ; a(1) = "坦然!坦然面!坦然面對"
StrComp(string1, string2[, compare])
返回 Variant (Integer),為字符串比較的結(jié)果。
string1 必要參數(shù)。任何有效的字符串表達(dá)式。
string2 必要參數(shù)。任何有效的字符串表達(dá)式。
Compare 可選參數(shù)。指定字符串比較的類型。如果 compare 參數(shù)是 Null,將發(fā)生錯誤。如果省略 compare,Option Compare 的設(shè)置將決定比較的類型。
compare 參數(shù)設(shè)置為:
vbUseCompareOption -1 使用Option Compare語句設(shè)置執(zhí)行一個比較。
vbBinaryCompare 0 執(zhí)行一個二進(jìn)制比較。
vbTextCompare 1 執(zhí)行一個按照原文的比較。
vbDatabaseCompare 2 僅適用于Microsoft Access,執(zhí)行一個基于數(shù)據(jù)庫信息的比較。
StrComp 函數(shù)有下列返回值:
string1 小于 string2 -1
string1 等于 string2 0
string1 大于 string2 1
string1 或 string 2為 Null Null
示例
a = StrComp("坦", "然")
a = -1
a = StrComp("面", "然")
a = 1
a = StrComp("然", "然")
a = 0
a = StrComp("然", Null)
a = Null
StrConv(string, conversion, LCID)
返回按指定類型轉(zhuǎn)換的 Variant (String)。
string 必要參數(shù)。要轉(zhuǎn)換的字符串表達(dá)式。
conversion 必要參數(shù)。Integer。其值的和決定轉(zhuǎn)換的類型。
LCID 可選的。如果與系統(tǒng)LocaleID不同,則為LocaleID(系統(tǒng)LocaleID為缺省值。)
conversion 參數(shù)的設(shè)置值為:
vbUpperCase 1 將字符串文字轉(zhuǎn)成大寫。
vbLowerCase 2 將字符串文字轉(zhuǎn)成小寫。
vbProperCase 3 將字符串中每個字的開頭字母轉(zhuǎn)成大寫。
vbWide 4 將字符串中單字節(jié)字符轉(zhuǎn)成雙字節(jié)字符。
vbNarrow 8 將字符串中雙字節(jié)字符轉(zhuǎn)成單字節(jié)字符。
vbKatakana 16 將字符串中平假名字符轉(zhuǎn)成片假名字符。
vbHiragana 32 將字符串中片假名字符轉(zhuǎn)成平假名字符。
vbUnicode 64 根據(jù)系統(tǒng)的缺省碼頁將字符串轉(zhuǎn)成 Unicode。
vbFromUnicode 128 將字符串由 Unicode 轉(zhuǎn)成系統(tǒng)的缺省碼頁。
示例
a = StrConv("how do you do", vbUpperCase)
a = "HOW DO YOU DO"
a = StrConv("HOW DO YOU DO", vbLowerCase)
a = "how do you do"
a = StrConv("how do you do", vbProperCase)
a = "How Do You Do"
vbWide vbNarrow 見原文
a = StrConv("坦然面對", vbUnicode)
a = "fW6qb楖["
a = StrConv("fW6qb楖[", vbFromUnicode)
a = "坦然面對"
StrReverse(string1)
返回一個字符串,其中一個指定子字符串的字符順序是反向的。
示例
a = StrReverse("坦然面對")
a = "對面然坦"
WeekdayName(weekday, abbreviate, firstdayofweek)
返回一個字符串,表示一星期中的某天。
weekday 必需的。數(shù)字值,表示一星期中的某天。該數(shù)字值要依賴于firstdayofweek設(shè)置中的設(shè)置值來決定。
abbreviate 可選的。Boolean值,表示星期的名稱是否被縮寫。如果忽略該值,缺省值為False,表明星期的名稱不能被縮寫。
firstdayofweek 可選的。數(shù)字值,表示一星期中第一天。
firstdayofweek參數(shù)值如下:
vbUseSystem 0 使用本國語言支持 (NLS) API設(shè)置值。
vbSunday 1 星期日(缺?。?。
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
示例
a = WeekdayName(5)
a = "星期四"
下面一堆東西可以解決長度問題~~~
---------------------------------------------------
VB4.0 以后,string 類型以 UNICODE 存放,以 ANSI 形式寫入文件。所以,len 和 FileLen 結(jié)果不同。len 返回字?jǐn)?shù),每個中、英文均為 1;lenb 返回字節(jié)數(shù),每個中、英文均為 2。
如果需要返回 ANSI 的字節(jié)數(shù),可用如下函數(shù):
Public Function LenANSI(strU as string) as long
LenANSI = LenB(StrConv(strU, vbFromUnicode))
End function
--------------------------------------------------
在 32-bit 版本的 VB 底下, 將每一個字符都視為兩個 Byte, 所以
Len("中英Mixed") 等于 7
LenB("中英Mixed") 等于 14
但是在很多場合底下, 我們希望中文字長度以 2 計算, 英文字母長度以 1 計算, 此時使用的方法如下:
' 欲計算字串 S 的長度
N = 0
For I = 1 To Len(S)
C = Asc(Mid(S, I, 1)) ' 取得第 I 個字符組的字符碼
If C >= 0 And C <128 Then ' 英文
N = N + 1
Else ' 中文
N = N + 2
End If
Next
看起來程序有點(diǎn)羅唆, 如果您不喜歡這個方法, 可以使用 Windows API 的 lstrlen 函數(shù), 假設(shè)假計算 S 的長度, 則 API 聲明式如下:
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
而調(diào)用的敘述則是:
n = lstrlen("中英Mixed" + Chr(0))
Print n ' n 將等于 9
請注意調(diào)用 lstrlen 時必須加上 Chr(0), 因?yàn)榇艘缓瘮?shù)是根據(jù) Chr(0) 來判斷字串的結(jié)束。
調(diào)用 lstrlen 除了程序比較簡短之外, 速度也比我們寫 VB 程序判斷中英文字然后計算長度來的快。
1. Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
2. Private Sub Command1_Click()
3. MsgBox lstrlen("100個蘋果" + Chr(0))
4. End Sub
復(fù)制代碼
---------------------------------------------------
有個算中英文混合長度的玩意~~
1. Private Function prvStringLenth(strString As String) As Long
2. Dim lngI As Long
3. Dim lngLenth As Long
4.
5. prvStringLenth = 0
6. lngLenth = 0
7.
8. If Len(Trim(strString)) > 0 Then
9. For lngI = 1 To Len(Trim(strString))
10. If Asc(Mid(Trim(strString), lngI, 1)) < 0 Then
11. lngLenth = lngLenth + 2 '如果asc碼小于0則為漢字
12. Else
13. lngLenth = lngLenth + 1 '大于0則為英文
14. End If
15. Next
16. prvStringLenth = lngLenth
17. End If
18.
19. End Function
復(fù)制代碼
聯(lián)系客服