vb mid函数的用法

text1.text="aabb"
for k=1 to 4
if mid(text1.text,k,1)=a then
label1(k).backcolor=vbgreen else
label(k).backcolor=vbwhite
end if
next
为什么运行后,颜色不变?

说实话,我怀疑你代码表达的意思不对,先说明你的主要错误
mid出来的值是字符窜,你的if mid(text1.text,k,1)=a then 中的a要加上引号,才是字符啊``
并且else好像要另起一行写才对吧
然后根据你的代码意思label1(k)猜测你有4个label1控件数组,但是后面
label(k).backcolor=vbwhite是什么意思???少写了个1还是你原本的题意思是改变label1中间"a"的颜色??
如果你原来的题意只是改变label1(k)的背景颜色,那么再加上个1吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-16
Option Base 1
Dim s As String
'读取数据in4.dat中的数据并用s代替
Private Sub Command1_Click()
Open App.Path & "\in4.dat" For Input As #1
s = Input(LOF(1), #1)
Close #1
Text1.Text = s
End Sub
Private Sub Command2_Click()
Dim m As Integer
If Len(s) = 0 Then
MsgBox "请先使用“读数据”功能!"
Else
If Text1.SelLength = 0 Then
MsgBox "请先选中文本!"
Else
t = ""
For i = 1 To Text1.SelLength
c = Mid(Text1.SelText, i, 1)
If c <> " " Then
t = t + c
Else
If LCase(t) = "the" Then
m = m + 1
End If
t = ""
End If
Next i
Text2.Text = Str(m)
End If
End If
End Sub
第2个回答  推荐于2016-04-04
  Mid是Visual Basic和Microsoft Excel中的一个字符串函数,作用是从一个字符串中截取出指定数量的字符。
  语法:

  VB中
  Mid(String As Variant, Start As Long, [Length As Variant]) As Variant
  Mid$(String As String, Start As Long, [Length As Variant]) As String
  Excel中
  MID(text, start_num, num_chars)[1]
  说明:这个函数的3个参数各在VB和Excel中互相等价,但VB中的Length参数可以省略,而Excel中num_chars参数不可省略。
  程序示例:
  VB中
  下面的示例展示了VB中如何使用Mid函数。其中所有的“Mid”都可以用“Mid$”代替。

  DimvAsString
  v=Mid("VisualBasic",0,12)'提示实时错误5
  v=Mid("VisualBasic",1,6)'v的值为"Visual"
  v=Mid("VisualBasic",1,20)'v的值为"VisualBasic"
  v=Mid("VisualBasic",8)'v的值为"Basic"
  v=Mid("VisualBasic",15)'v的值为空字符串
  v=Mid("中文VB",2,2)'v的值为"文V"
  
第3个回答  2011-01-25
在一 Variant (String) 变量中以另一个字符串中的字符替换其中指定数量的字符。

语法

Mid(stringvar, start[, length]) = string

Mid 语句的语法具有下面几个部分:部分 描述
stringvar 必要参数。被更改的字符串变量名。
start 必要参数;Variant (Long)。stringvar 中被替换的字符开头位置。
length 可选参数;Variant (Long)。被替换的字符数。如果省略,string将全部用上。
string 必要参数。字符串表达式,替换部分 stringvar 的字符串。

说明

被替换的字符数量总是小于或等于 stringvar 的字符数。

注意 MidB 语句作用于包含在字符串中的字节数据。在 MidB 语句中,start 指定 stringvar 中被替换的字节开头位置,而 length 为替换的字节数。
第4个回答  2011-01-25
text1.text="aabb"
for k=1 to 4
if mid(text1.text,k,1)="a" then
label1(k).backcolor=vbgreen else
label1(k).backcolor=vbwhite
end if
next
相似回答