sendercontrol eines sheet ermitteln

08/12/2008 - 16:13 von Thomas Martin Mädzulat | Report spam
hallo,
wie kann ich in einem sub, das über die .OnAction-methode eines eigenen
PopUp-menus aufgerufen wird, den namen oder eine id des controls in erfahrung
bringen, das das PopUp-click-event ausgelöst hat?

vielen dank für antwort!
Martin

code:

Private Sub txtEineBox_MouseUp(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then
Call PopUpMenuCopyPaste("txtEineBox")
End If
End Sub


Sub PopUpMenuCopyPaste(Sender As String)

Dim MyBar As CommandBar

On Error Resume Next
Application.CommandBars("MyEdit").Delete
On Error GoTo 0

Set MyBar = CommandBars.Add("MyEdit", msoBarPopup, False)

With MyBar.Controls.Add(msoControlButton,
CommandBars("Cell").Controls("Einfügen").ID)
.tag = Sender
.OnAction = "PasteTextInControl"
End With

MyBar.ShowPopup
End Sub


Sub PasteTextInControl()

Dim MyData As New DataObject
Dim strClip As String

On Error GoTo NoText:
MyData.GetFromClipboard
strClip = MyData.GetText

' ### hier soll jedes aufrufende control eingesetzt werden können ###

Workbooks("XY.xls").Worksheets("XY").txtEineBox.text = strClip

NoText:
End Sub
 

Lesen sie die antworten

#1 Renke Holert [MVP]
13/12/2008 - 13:30 | Warnen spam
Hallo,

hier geht es um VBA in Zusammenhang mit MS Project.

Bitte stattdessen die Excel Newsgroup verwenden.

Danke,
Renke

"Thomas Martin Màdzulat"
wrote in message news:
hallo,
wie kann ich in einem sub, das über die .OnAction-methode eines eigenen
PopUp-menus aufgerufen wird, den namen oder eine id des controls in
erfahrung
bringen, das das PopUp-click-event ausgelöst hat?

vielen dank für antwort!
Martin

code:

Private Sub txtEineBox_MouseUp(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then
Call PopUpMenuCopyPaste("txtEineBox")
End If
End Sub


Sub PopUpMenuCopyPaste(Sender As String)

Dim MyBar As CommandBar

On Error Resume Next
Application.CommandBars("MyEdit").Delete
On Error GoTo 0

Set MyBar = CommandBars.Add("MyEdit", msoBarPopup, False)

With MyBar.Controls.Add(msoControlButton,
CommandBars("Cell").Controls("Einfügen").ID)
.tag = Sender
.OnAction = "PasteTextInControl"
End With

MyBar.ShowPopup
End Sub


Sub PasteTextInControl()

Dim MyData As New DataObject
Dim strClip As String

On Error GoTo NoText:
MyData.GetFromClipboard
strClip = MyData.GetText

' ### hier soll jedes aufrufende control eingesetzt werden können ###

Workbooks("XY.xls").Worksheets("XY").txtEineBox.text = strClip

NoText:
End Sub

Ähnliche fragen