VBA模块内引用窗体控件的问题,问题解决了再加分

2025-03-31 15:04:47
推荐回答(2个)
回答1:

经测试,确定可行,方法如下:

1、先得添加一个 Form,只要添加一个空的就好了,因为后面所用到的 DataObject 对象,需要Form对象;
在VBA编辑器中点菜单:插入 -> 用户窗体,即可;

2、在你的模块中放入如下示例代码:

Sub Test()
Dim MyData As DataObject, MyStr As String
Set MyData = New DataObject
MyData.GetFromClipboard '获得剪切板内容

MyStr = MyData.GetText '赋值给变量

MsgBox MyStr
End Sub

注意,运行前 从任何窗口选中一些文字 Copy 一下,再运行这个 Test 宏。

有疑问,请Hi我或给我发BaiDu消息。
GoodLuck!

回答2:

1. label_pm 这个只是没有赋值的变量,而且控件好像不能这样引用的。
2. 你可以试一下使用下面的方法(帮助文件)来进行控件的使用,
3. 按照你的需求,需要在MenuMouseMove(ctl As Object) 这里面访问窗体里其他所有的的控件,所以可能还需要一个窗体变量作为参数。我现在没有VB,没法替你验证。

For Each MyControl In Controls
If (MyControl.Name Like "MultiPage*") Then
MsgBox MyControl.Name _
& ".Pages.Count = " _
& MyControl.Pages.Count
ElseIf (MyControl.Name Like "TabStrip*") Then
MsgBox MyControl.Name & ".Tabs.Count = " _
& MyControl.Tabs.Count
End If
Next