我有一个窗体类UserForm1,上面有一个按钮CommandButton1,Private Sub CommandButton1_Click()
Dim f1 As UserForm1
Dim str As String
Set f1 = New UserForm
f1.Show
End Sub这样递归可以产生多个UserForm1,我如何才能知道窗体上的按钮属于哪个窗体(根据按钮得到按钮所在的窗体)?
Dim f1 As UserForm1
Dim str As String
Set f1 = New UserForm
f1.Show
End Sub这样递归可以产生多个UserForm1,我如何才能知道窗体上的按钮属于哪个窗体(根据按钮得到按钮所在的窗体)?
解决方案 »
- 求助了很多会vb的朋友都没有得到答案,只有找csdn了
- 在线等~~~~有答案立马给分~~~~
- vb中调用matrixvb后怎样释放矩阵
- 请教:关于SendMessage这个API的使用的完整说明
- VB工程中可以连接数据库,生成可执行文件后无法连接数据库,急
- 哪位有摄像头编程方面的资料请指点,谢谢!
- 调用api函数
- 在線等,請問Open strLogFileLocation For Output As #filenumber 這句是什么意思?
- 30分:关于RichTextBox的问题!急!!!!!!!!!!!!
- 求程序员考试题和考试经验,程序员多多帮忙
- hBitmap = LoadImage(hModule, "#2", 0, 0, 0, LR_LOADMAP3DCOLORS),怎样将hBitmap显示到图片框里?
- 怎样用SendMessageLong来限制文本框输入内容长度?
msgbox me.hwnd'根据句柄可以知道是哪个窗口呀
End Sub
我是在Excel的vba里的窗体,在vba里 me没有hwnd这个属性。真的没有,每次都出错,所以我才会说难。
MsgBox CommandButton1.Parent.Caption
End Sub
用于返回包含指定控件、对象或集合的窗体、对象或集合的名字。
我用unload f1,也出错,如何处理?
On Error Resume Next
Dim I As Integer For I = 0 To Forms.Count - 1
'
If Forms(I).tag= Text1 Then
Unload Forms(I)
Exit Sub
End If
Next I
当然没有close方法了.
兄弟们,现在的问题是,我Set f1 = New UserForm,产生新窗体后,我如何关闭这个窗体,除了点击窗体有上角X外,我用f1.close方法,出错,说f1没有这个方法,
我用unload f1,也出错,如何处理?
========================================
注意你的代码:
==========
Private Sub CommandButton1_Click()
Dim f1 As UserForm1
Dim str As String
Set f1 = New UserForm1
f1.Show
End Sub
=========
基本的变量作用域问题,如果你不是在CommandButton1_Click()中使用unload f1,那样肯定会出错的解决方法正如楼上两位所说:
1、在UserForm1中调用unload me方法;
2、使用ActiveForm
If Screen.ActiveForm.Caption = "Form1" Then '"Form1" 为你所要显示的窗口的Caption
Unload Screen.ActiveForm
End If