ebenfalls Probleme mit dem Textfeld und rechter Maustaste

  • Excel

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Johanne.

    ebenfalls Probleme mit dem Textfeld und rechter Maustaste

    Hi,

    ich würde mich freuen, wenn du mir zeigen kannst, wo ich in den Eigenschaften das ContextMenu einer bestimmten TextBox zuweisen kann.

    Bei Bedarf soll ein bereits kopierter Text in meine TextBox (TextBox_Bezeichnung) mit der rechten Maustaste eingefügt werden.
    Ich habe es mit Strg+V eingefügt, aber da wurde mir gesagt, dass die Kollegen die die Daten später einfügen, eher mit der rechten Maustaste arbeiten würden. Daher meine Anfrage.

    Danke im voraus für dir Hilfe

    (Ich arbeite seit Juni 2020 mit VBA Excel 2016 und versuche mich da reinzufuchsen)

    ausgelagert aus Probleme mit dem Textfeld und rechter Maustaste; das Wiederaufnehmen von Uraltthreads ist zu unterlassen. ~VaporiZed

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    @Johanne Erstell ein neues Projekt.
    Zieh eine TextBox auf die Form.
    Starte das Projekt.
    Klicke rechts in die TextBox.

    Oder halt mit Ctrl+V.
    Das hat die TextBox bereits alles on Board. :D
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich hab das zwar aus einem VB.NET-Thread in einen neuen VB.NET-Thread verfrachtet, aber ich bin mir nicht sicher, ob @Johanne wirklich in Visual Studio oder aufgrund des Posts vielleicht in Excel-VBA unterwegs ist. Wobei ich allerdings auch nicht weiß, ob das dann überhaupt mit VBA möglich ist. Das gilt es erstmal von @Johanne zu klären.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Hallo @RodFromGermany

    ich bin deiner Anleitung gefolgt und ich kann den vorher kopierten Text nur mit Strg+V hineinkopieren.
    Leider nicht mit der rechtes Maustaste und dein Kontextmenü, welches man in deinem .jpg sieht, habe ich somit auch nicht.

    Mein Vorgesetzter wünschst sich aber, dass er"bereits kopierten" Text mit der rechten Maustaste einfügen kann.
    Ich versuche mich seit knapp 2 Monaten in die Programmiersprache reinzufuchsen. Wenn du noch eine andere Lösung hast, dann wäre ich dankbar.
    In der Zwischenzeit probiere ich weiter.
    Danke für die Hilfe.

    Dank eurer (@petaod, @VaporiZed, @Animal2k und dir [@RodFromGermany]) Hilfe, lerne ich jeden Tag dazu und die Datenbank wächst. (Teilweise mit Funktionen und teilweise auch einfach nur mit Daten).

    Hallo @VaporiZed

    der Thread passte einfach genau zu meinem Problem, weshalb ich dann einfach auf Antworten gedrückt habe.
    Pardon, wenn es nicht richtig war und danke für das Verschieben.

    Ich arbeite mit Excel 2016 und wenn ich über die Entwicklertools auf Visual Basic klicke, dann steht "Microsoft Visual Basic for Aplications" in der Titelleiste. Ich weiß nicht, ob mein Wunsch (der meines Vorgesetzten) in VBA überhaupt umsetzbar ist.

    Danke für die Hilfe.
    Johanne

    Johanne schrieb:

    dann steht "Microsoft Visual Basic for Aplications"
    Dann sollten wir zunächst klären, womit Du programmierst:
    [Allgemein] VB.NET, VB6, VBA, VBS — Mit welcher Sprache programmiere ich eigentlich?
    Wenn das nicht VB.NET ist, klickst Du bitte bei Deinem 1. Post hier im Thread auf Melden und schreibst rein, dass er nach VBA verschoben werden soll.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Dein Vorhaben ist nicht ganz trivial, da eine ActiveX-Textbox kein Context-Menü unterstützt.
    Also musst du die Sache von Hand programmieren.
    Hier ist eine Anleitung wie ein Context-Menü in eine Textbox implementiert wird.

    Alternativ könntest du das MouseDown-Event der Textbox abfangen und dort bei Rechtsklick automatisch den PasteBuffer inserten.

    Visual Basic-Quellcode

    1. Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    2. If Button = 2 Then TextBox1.Paste 'right button
    3. End Sub

    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „petaod“ ()

    Moin,
    sorry das ich nicht eher antworten konnte. Durch den Umzug werde ich in einen neuen Bereich eingearbeitet und die Programmierung soll auch weiter laufen.

    RodFromGermany schrieb:

    Wenn das nicht VB.NET ist, klickst Du bitte bei Deinem 1. Post hier im Thread auf Melden und schreibst rein, dass er nach VBA verschoben werden soll.


    Ich habe das Dreieck mit dem Ausrufezeichen angeklickt, aber der Beitrag wurde bereits gemeldet, so dass ich dass nicht erneut machen kann.


    @petaod
    Ich habe Deinen VB Quellcode zum Test in eine neue TextBox eingefügt.
    Wenn ich die UF dann starte und die rechte Maustaste klicke, dann fügt er den Text sofort und 2x ein.
    Das ist nicht gut.
    Besser wäre: ich klicke rechts und es kommt das Feld einfügen, was ich durch anklicken bestätige.
    Ich werde mir deine Anleitung aber noch genauer angucken und auch ausprobieren.

    Danke für eure Mühen.
    Eigentlich programmiere ich null in VBA, das ist wirklich nicht meins. Nachdem ich herausbekommen habe wie ich überhaupt ein UserForm erstelle habe ich mit diesem Link sehr schnell eine Minianwendung hinbekommen, die genau das macht was du möchest.
    Excel mit Makro ist natürlich eine üble Nummer, aber hoffe dafür keinen Ärger zu bekommen und lade mein Test hier hoch, die Extension Zip ist nur, damit ich die Datei überhaupt hochladen konnte.

    Bild 1

    Bild 2

    Excel mit Userform und Makro (VBA)
    Clipbord-Test.xlsm.zip
    Hallo petaod,
    heute hatte ich etwas Luft und konnte mich wieder der Datenbank/Eingabemaske widmen.

    zu #8
    ich habe deinen Quellcode genommen um das MouseDown-Event abzufangen, allerdings musste ich das Mouse-Down in Mouse-Up ändern und dann lies sich mein "vorher kopierter Text" ohne weiteres und auch "nur einmal" einfügen.

    Außerdem habe ich deinen Quellcode auch ins Modul eingefügt. Ich weiß nicht, ob es gut oder richtig war, aber das Einfügen funktioniert nun.

    Da mein Problem damit gelöst kann das Thema geschlossen werden.

    Vielen Dank an alle HELFER!