| ©«¤l258 ¥DÃD77 ºëµØ0 ¿n¤À385 ÂI¦W0  §@·~¨t²ÎWin7 ³nÅ骩¥»Office2010 ¾\ŪÅv20 ©Ê§O¨k ¨Ó¦ÛTaiwan µù¥U®É¶¡2010-8-8 ³Ì«áµn¿ý2021-1-25 
 | 
[µo°Ý] ¦p¦ó±oª¾  Data.GetText ªº¨Ó·½¬O¨Ó¦Û listbox1 ©Î ,listbox2? 
| ¤S¥d¦í¤F¡I½Ð¥ý¶i¤j¤j̨ó§U °ÝÃD¦b¦P¤@userform1¤º§tlistbox1,listbox2,listbox3
 ¨ä¤¤ listbox1±N¸ê®Æ©ì¦²µ¹Comd1(±ý¨î¨ä¥LComdµLªk±µ¨ü)
 listbox2±N¸ê®Æ©ì¦²µ¹Comd2~Comd5(±ý¨î¨ä¥LComdµLªk±µ¨ü)µ¥µ¥
 §Ú¨Ï¥Î¦p¤U  §Q¥Î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
 
 ´N±Ð©ó¦U¦ì¤j¤j
 ¦p¦ó±oª¾  Data.GetText ªº¨Ó·½¬O¨Ó¦Û  listbox1   ©Î    ,listbox2?
 | 
 |