请问如何用字符串访问控件

toprise 2006-09-10 05:22:12
例如我有控件文本框控件 text1,text2等,字符变量S="text",我希望有类似s+"1"的方式能代表text1控件,S+"2"的方式能代表text2控件的方式
...全文
319 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
toprise 2006-11-21
  • 打赏
  • 举报
回复
搞定,谢谢
fyming 2006-10-09
  • 打赏
  • 举报
回复

不知道你下一步的动作是要做什么,如果是要赋值,例:

(1)自定义函数
Public Function LetTxtValues(ByVal strName As String, _
ByVal strTemp as String) As Boolean
On Error GoTo 0

Dim objObject As Object

'遍历窗体上对象
For Each objObject In objForm
If TypeOf objObject Is TextBox Then
If objObject.Name = strName Then
objObject.Text = strTemp
End If
End If
Next

End Function

(2)引用时:
LetTxtValues S & "1", strTemp
liuchanghu 2006-10-09
  • 打赏
  • 举报
回复
如果不用数组不知道是否还有别的办法?
ZOU_SEAFARER 2006-10-09
  • 打赏
  • 举报
回复

Private Sub Command1_Click()
Dim a As String
Dim i As Integer
For i = 1 To 2
a = "Text" & i
Dim myTxt As TextBox
Set myTxt = Me.Controls(a)
myTxt.Text = "Hello" & i
Next
End Sub
AnnaBear 2006-10-09
  • 打赏
  • 举报
回复
楼主的意思是用一个变量名代替控件吧:
code:
Private Sub Command1_Click()
Dim s As String
s = "text1"
Dim a As TextBox
Set a = CallByName(Me, s, VbGet)
a.Text = "hello"
End Sub
是这个意思么^_^
ZOU_SEAFARER 2006-10-09
  • 打赏
  • 举报
回复
以前有一个很简单的例子我一下找不出来了!!
happy_sea 2006-10-09
  • 打赏
  • 举报
回复
比如你要显示name是"text" & "1"的textbox控件的值:
Dim o As Control
For Each o In Me.Controls
If o.Name = "text" & "1" Then
MsgBox o.Text
End If
Next o
cxxylce0 2006-09-10
  • 打赏
  • 举报
回复
虽然不可以,但是有变通的方法:使用控件数组。
textbox(1).Text
textbox(2).Text
...
textbox(i).Text

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧