- 帖子
- 258
- 主題
- 77
- 精華
- 0
- 積分
- 385
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 20
- 性別
- 男
- 來自
- Taiwan
- 註冊時間
- 2010-8-8
- 最後登錄
- 2021-1-25
|
[發問] 如何得知 Data.GetText 的來源是來自 listbox1 或 ,listbox2?
又卡住了!請先進大大們協助
問題在同一userform1內含listbox1,listbox2,listbox3
其中 listbox1將資料拖曳給Comd1(欲限制其他Comd無法接受)
listbox2將資料拖曳給Comd2~Comd5(欲限制其他Comd無法接受)等等
我使用如下 利用class1
Option Explicit
Dim newcontrol() As New Class1
Private Sub UserForm_Initialize()
ReDim newcontrol(26)
For i = 0 To 25
Set newcontrol(i).Comd = Controls("CommandButton" & i + 1)
newcontrol(i).Comd.Caption = ""
Next
listupdate1
listupdate3
End Sub
Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim MyDataObject As DataObject
On Error Resume Next
If Button = 1 Then
Set MyDataObject = New DataObject
Dim Effect As Integer
MyDataObject.SetText ListBox1.Value
Effect = MyDataObject.StartDrag
End If
On Error GoTo 0
End Sub
Private Sub ListBox3_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim MyDataObject As DataObject
On Error Resume Next
If Button = 1 Then
Set MyDataObject = New DataObject
Dim Effect As Integer
MyDataObject.SetText ListBox3.Value
Effect = MyDataObject.StartDrag
End If
On Error GoTo 0
End Sub
class1
Private Sub Comd_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As MSForms.DataObject, ByVal X As Single, _
ByVal Y As Single, ByVal DragState As Long, ByVal Effect As MSF orms.ReturnEffect, ByVal Shift As Integer)
Cancel = True
Effect = 1
End Sub
Private Sub Comd_BeforeDropOrPaste(ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As Long, ByVal Data As MSForms.DataObject, ByVal X As Single, _
ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)
Dim am%, row1%, mod1%, n1%, i%
Dim n%
Dim str1 As String
Dim ss1%, ss2%, ss3%
Dim ss4 As Variant
Cancel = True
Effect = 1
am = Len(Comd.Name)
If am = 14 Then
str1 = Right(Comd.Name, 1)
ElseIf am = 15 Then
str1 = Right(Comd.Name, 2)
End If
n = CInt(str1)
If n = 1 Then Comd.Caption = Data.GetText
就教於各位大大
如何得知 Data.GetText 的來源是來自 listbox1 或 ,listbox2? |
|