Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Rechte Maustaste im Textfeld nutzen

Rechte Maustaste im Textfeld nutzen
24.01.2021 17:00:41
Andreas
Hallo,
ich habe ein kleine Programm über Excel- VBA erstellt. In diesem Programm nutze ich Textfelder, in die ich über STRG + V Sätze einfüge. Perfekt wäre es, wenn ich hier auch das Kontext- Menu der rechten Maus nutzen könnte. Leider finde ich keine Lösung, wie ich dies Programmieren kann.
Kann mir jemand in diesem Forum helfen, wie dies geht.
Vielen Dank im Voraus...
Andreas

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rechte Maustaste im Textfeld nutzen
24.01.2021 17:05:28
Hajo_Zi
Hallo Andreas,
Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
MsgBox 1
End Sub

AW: Rechte Maustaste im Textfeld nutzen
24.01.2021 17:11:25
Andreas
Hallo Hajo_Zi,
vielen Dank. Dies funktioniert. Allerdings habe ich dann noch keine Auswahl, einen Text auszuschneiden bzw. einen Text dort einzufügen (Reguläres Kontextmenu der rechten Maustaste funktioniert im Textfeld ja nicht.
Gibt es hierfür auch eine Lösung.?
AW: Rechte Maustaste im Textfeld nutzen
24.01.2021 17:16:22
Hajo_Zi
ich habe es falsch gelesen. Ich dachte Du wolltest die Rechte Maustaste im Textfels benutzen.
Kein Ahnung was Du jetzt willst.
Ich überlasse mal anderen die Lösung.
Gruß Hajo
Anzeige
AW: Rechte Maustaste im Textfeld nutzen
24.01.2021 17:16:29
Nepumuk
Hallo Andreas,
was brauchst du alles im Kontextmenü? Kopieren, Einfügen ....
Gruß
Nepumuk
AW: Rechte Maustaste im Textfeld nutzen
24.01.2021 18:21:18
Andreas
Hallo Napumuk,
Kopieren und Einfügen würde mir vollkommen ausreichen.
Gibt es hier eine einfache Lösung?
Vielen Dank schon im Voraus...
Andreas
AW: Rechte Maustaste im Textfeld nutzen
24.01.2021 19:24:09
Andreas
Hallo Napumuk,
dies funktioniert super. Danke.
Allerdings habe ich in meine Tabellenblätter ein ActiveX- Steuerelement - Textfeld genommen, in die ich die Texte einfüge bzw. ausschneide. Hier funktioniert der Code nicht. Oder mache ich etwas falsch?
Schon mal vielen Dank für Deine Mühe.
Andreas
Anzeige
AW: Rechte Maustaste im Textfeld nutzen
24.01.2021 20:53:11
Andreas
Hallo Napumuk,
funktioniert perfekt. Vielen Dank. Habe sehr lange nach einer Lösung gesucht.
Ich hätte noch eine Bitte. Was muss ich im Modul noch ergänzen, damit ich noch die Auswahl Ausschneiden habe.
Vielen Dank noch mal und noch einen schönen Abend....
Andreas
AW: Rechte Maustaste im Textfeld nutzen
24.01.2021 21:47:55
Nepumuk
Hallo Andreas,
so:
Option Explicit
Option Private Module

Public Const COMMANDBAR_NAME As String = "TextBoxPopup"

Private lobjTextBox As MSForms.TextBox

Public Sub CreateCommandBar()
    
    Dim objCommandBar As CommandBar
    Dim objCommandBarButton As CommandBarButton
    
    Call DeleteCommandBar
    
    Set objCommandBar = CommandBars.Add(Name:=COMMANDBAR_NAME, Position:=msoBarPopup, Temporary:=True)
    
    Set objCommandBarButton = objCommandBar.Controls.Add(Type:=msoControlButton)
    
    With objCommandBarButton
        
        .Caption = "Ausschneiden"
        .FaceId = 21
        .OnAction = "CutText"
        .Style = msoButtonIconAndCaption
        
    End With
    
    Set objCommandBarButton = objCommandBar.Controls.Add(Type:=msoControlButton)
    
    With objCommandBarButton
        
        .Caption = "Kopieren"
        .FaceId = 19
        .OnAction = "CopyText"
        .Style = msoButtonIconAndCaption
        
    End With
    
    Set objCommandBarButton = objCommandBar.Controls.Add(Type:=msoControlButton)
    
    With objCommandBarButton
        
        .Caption = "Einfügen"
        .FaceId = 22
        .OnAction = "InsertText"
        .Style = msoButtonIconAndCaption
        
    End With
End Sub

Public Sub DeleteCommandBar()
    
    Dim objCommandBar As CommandBar
    
    For Each objCommandBar In CommandBars
        
        If objCommandBar.Name = COMMANDBAR_NAME Then Call objCommandBar.Delete
        
    Next
End Sub

Public Sub CutText()
    Call TextBox.Cut
End Sub

Public Sub CopyText()
    Call TextBox.Copy
End Sub

Public Sub InsertText()
    Call TextBox.Paste
End Sub

Public Property Get TextBox() As MSForms.TextBox
    Set TextBox = lobjTextBox
End Property

Public Property Set TextBox(ByRef probjTextBox As MSForms.TextBox)
    Set lobjTextBox = probjTextBox
End Property

Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige