Microsoft Excel

Herbers Excel/VBA-Archiv

Mausposition, Objekt einfügen

    Betrifft: Mausposition, Objekt einfügen von: sarah
    Geschrieben am: 27.08.2003 16:46:39

    Hallo zusammen,

    Wie frängt man zu Beginn des Makros die Mausposition ab, um an dieser Stelle ein Textfeld/Grafik einfügen zu können?

    Danke!

    gruss
    sarah@langenschiltach.de

      


    Betrifft: AW: Mausposition, Objekt einfügen von: K.Rola
    Geschrieben am: 27.08.2003 16:56:50

    Hallo,

    activecell.left
    activecell.top

    Gruß K.Rola


      


    Betrifft: AW: Mausposition, Objekt einfügen von: Dieter Maj
    Geschrieben am: 27.08.2003 16:57:40

    Hallo Sarah
    schau die mal in der VBA-Hilfe das Beispiel zur IncrementLeft-Methode an
    Gruß Dieter


      


    Betrifft: AW: Mausposition, Objekt einfügen von: Sarah
    Geschrieben am: 27.08.2003 17:52:52

    Habe ich angeschaut; Um die spätere Postition zu definieren OK.

    Mittlerweile habe ich auch die Mausposition, die ist aber absolut zu meinen Screen und bezieht sich auf Pixel. Jetzt müßte ich wahrscheinlich diese Werte relativ zum Dokument umrechnen?
    Und dieses Ergebnis mittels IncrementLeft auf das einzufügende Objekt übertragen

    sarah ??


      


    Betrifft: AW: Mausposition, Objekt einfügen von: sarah
    Geschrieben am: 27.08.2003 17:12:14

    Sorry, hat mir noch nicht geholfen;

    Wie übernehme ich X,Y Werte der Position?

    SArah


      


    Betrifft: AW: Mausposition, Objekt einfügen von: joel
    Geschrieben am: 27.08.2003 17:22:15

    hallo sarah

    schau dir mal das an

    https://www.herber.de/mailing/058699h.htm

    gruss


      


    Betrifft: AW: Mausposition, Objekt einfügen von: Sarah
    Geschrieben am: 27.08.2003 17:55:38

    Hi

    Super, die Position kann ich wunderbar Auslesen:

    Option Explicit
    Declare
    Function GetCursorPos& Lib "user32" (lpPoint As POINTAPI)
     
    Type POINTAPI
      x As Long
      y As Long
    End Type
    
    
    Sub Orientieren()
    
    Dim lPos As Long
    Dim PT As POINTAPI
    
    
    lPos = GetCursorPos(PT)
    
    Debug.Print lPos
    Debug.Print PT.x
    Debug.Print PT.y
    
    
    End Sub
    


    Aber wie übertrage ich das Ergebnis relativ zu meinem Objekt irgendwo in meiner Anwendung?

    gruss
    sarah :-)


      


    Betrifft: Makro Objekt einfügen - Maus abfragen von: Sarah
    Geschrieben am: 27.08.2003 18:29:38

    Hallo nochmal;

    Ich glaube ich muß mein Problem nochmals näher schildern;

    Mein Makro fügt Objekte ein. Die Position soll sich aber bei jedem Start ändern.

    Bei makrostart soll die aktuélle Mausposition abgfraft werden und anschließend an dieser Stelle das Objekt (textbox/grafik) eigefügt werden.

    Hat mir da jemand ein Beispiel.

    Hintergrund: Ich möchte auf einer Zeichnung (Bild) Merkmale durchnummerieren.

    gruss
    Sarah


      


    Betrifft: AW: Makro Objekt einfügen - Maus abfragen von: K.Rola
    Geschrieben am: 27.08.2003 19:43:40

    Hallo,

    die x y Werte über API ermittelt korrespondieren nicht mit der Tabelle.
    Eine Umrechnung ist so gut wie unmöglich, weil das u.a. davon abhängt,
    wieviele Symbolleisten angezeigt werden usw.
    Wieso gehts denn eigentlich über meinen Vorschlag weiter oben?

    Gruß K.Rola


      


    Betrifft: Excelunabhängig von: Sarah
    Geschrieben am: 27.08.2003 19:57:14

    Hallöchen,

    tjo nach langem Probieren komme ich wirklich nicht weiter;

    Ich möchte Zellunabhängig arbeiten; Ich will versuchen später das Tool auch für Powerpoint oder Word zu benutzen.

    Die Frage ist; Wie greift Excel bei regulärem Erstellen eines Shape Objects auf die Position der Maus im Bezug auf das Dokument zu. Kann man diese Info nicht abzapfen?

    Weil der macro recorder nimmt nur die tatsächliche Pos in Form von Zahlenwerten auf.

    Eine Idee wäre vielleicht ich setze ein kleines Rechteck in mein Dokument; bei macro start - Position abfragen und zu erstellendes Object daneben einfügen. Mit der Maus Rechteck verschieben - Macro starten - usw.

    Wäre eine Lösung; aber nicht gerade sexy...

    Danke K.Rola, vielleicht hast Du noch 'ne Idee; Ich probier das mal mit dem "Rechteck"

    gruss
    sarah


      


    Betrifft: AW: Excelunabhängig von: K.Rola
    Geschrieben am: 27.08.2003 20:13:40

    Hallo,

    ich werde das Gefühl nicht los, dass wir aneinander vorbeiposten.
    Wenn du manuell eine Grafik oder was auch immer für ein Objekt
    einfügst, ist doch auch eine Zelle markiert. Die Position dieser
    Zelle ist activecell.left und activecell.top. Diese Werte kannst du
    auslesen und dann hast du den Punkt, an dem du dein Teil einfügen
    kannst.

    Gruß K.Rola


      


    Betrifft: AW: Excelunabhängig von: Sarah
    Geschrieben am: 27.08.2003 20:23:49

    Hi, Du hast schon recht. Der Knackpunkt ich habe eine große Bilddatei drunterliegen. Es könnte also sein, dass diese "scharf" ist!

    Mein Aufgabe sieht so aus.
    Ich habe eine Zeichnung eines Bauteils. Jedes Mass muss positioniert werden, d.h. nummeriert, um einen Prüfbericht anlegen zu können.
    Ich würde gern mit Tastenkomb. Makro starten, welches an Mauspos ein neues Fähnchen setzt.

    Die weiteren Schritte; Msgbox öffnen; Sollwert eintragen, der in einer anderen Tab. in eine Liste übernommen wird (schon vorhanden). Zudem sollen die Fähnchen hochzählen (einfach).

    Ich denke jetzt geht ein Licht auf :-)

    sarah





      


    Betrifft: AW: Excelunabhängig von: K.Rola
    Geschrieben am: 27.08.2003 22:39:57

    Hallo,

    davon, dass da ein Bild existiert, hab ich bisher aber nix mitbekommen.
    Workaround: Füg deine Zeichnung in ein leeres Diagramm ein.
    Dann erstellst du ein Klassenmodul für die Klasse Chart.
    So stehen dir die MouseMove und MouseDown- Ereignisse zur Verfügung.
    Blöd, damit das auch funktioniert, muss das Diagramm aktiv(markiert) sein.
    Die eingefügten Shapes werden erst sichtbar, wenn du wieder die Tabelle
    aktivierst.

    Gruß Karola


     

    Beiträge aus den Excel-Beispielen zum Thema " Mausposition, Objekt einfügen"