EXCEL Zelle mit einem "mailto" - wie mache ich einen Klick/Doppelklick? (mit Tastatur)

  • Hallo,
    ich habe ein Script, welches (mit TAB's) in EXCEL einige Zelle nach rechts gesprungen ist.

    Nun stehe ich auf einer Zelle mit einer Mailadresse.

    Normalerweise mache ich von Hand darauf einen Klick und eine neue email geht auf usw.

    Nun steht aber der Mauszeiger irgendwo und ich möchte es mit Send Befehlen über die Tastatur auslösen.

    Meiner Meinung nach geht das nicht mit "MouseClick", weil ich dazu die Position haben müsste.

    Auch mit der Tastatur gelingt mir das nicht, weil schon mal 2 Befehle den gleichen Auswahl Buchstaben unterlegt haben.
    Ist das ein Bug von EXCEL 2003? Das "f" ist für "Inhalte einfügen", sowie auch für "Hyperlink öffnen" unterstrichen.

    Wie kann ich also ohne den Befehl "MouseClick", so ein mailto mit der Tastatur bzw. mit AutoIT auslösen?

    Gruß
    Gunnii

  • Du brauchst nicht mit Mouseklicks zu arbeiten und auch keine Tab's senden ;)

    Hier ein Beispiel
    [autoit]

    #include <INet.au3>
    #Include <Excel.au3>
    $oXLS = _ExcelBookAttach(@DesktopDir & '\Mail.xls')
    $MailTo = _ExcelReadCell($oXLS, 1, 5) ;lese aus E1
    If StringLeft($MailTo, 7) = 'mailto:' Then _INetMail(StringTrimLeft($MailTo, 7), "", "")

    [/autoit]
  • Hallo,
    mit deinem Beispiel kann ich noch nicht so recht was anfangen - und will das erst einmal verstehen...

    Nehmen wir mal an es gibt eine Datei die Mail.xls heißt und geöffnet ist und in der Zelle I 3 würde eine gültige Mailadresse stehen.


    Was sollte sich dann beim Starten deines Beispiels tun?

    -----
    Ich hatte es ja so beschrieben, dass ich schon auf einer EXCEL Zelle mit einer Mailadr. stehe und nun nur diesen Hyperlink ausführen möchte, damit sich automatisch ein neues eMail Formular öffnet.
    Dort würde ich das, was ich in der Zwischenablage habe, an bestimmter Stelle einfügen.

    Gruß
    Gunnii

  • Annahme: Es gibt auf dem Desktop eine Datei mit dem Namen Mail.xls. Diese ist bereits mit Excel geöffnet. In der Zelle I3 steht mailto:irgendwer@irgendwo.de.

    Nun führt man folgendes Skript aus:

    [autoit]

    #include <INet.au3>
    #Include <Excel.au3>
    $oXLS = _ExcelBookAttach(@DesktopDir & '\Mail.xlsx')
    $MailTo = _ExcelReadCell($oXLS, 3, 9) ;lese aus I3
    If StringLeft($MailTo, 7) = 'mailto:' Then _INetMail(StringTrimLeft($MailTo, 7), "Betreff", "Text")

    [/autoit]
  • in deinem Beispiel hast du jetzt hinter das . xls noch ein x geschrieben

    aber auch wenn das ein Schreibfehler ist, bekomme ich immer die Meldung:

    >"C:\Programme\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Programme\AutoIt3\Examples\include---.au3"
    --> Warning from function _ExcelAttach, No Match
    >Exit code: 0 Time: 0.413

    Es soll doch bestimmt eine neue Mail aufgehen, wo schon was in der Betreffzeile steht.

    was nun?

    in der Zelle I3 steht eine Mailadresse.

  • Das zusätzliche x kommt daher, dass ich Office 2007 und nicht Office 2003 installiert habe. Da hat sich die Erweiterung geändert. Und ich hab nach dem testen vergessen es zu löschen.

    Das wichtigste ist, dass der Pfad und der Dateianme der Excel-Datei 100%ig stimmen muss. Liegt deine Datei wirklich auf dem Desktop? Ansonsten musst du den Pfad anpassen.
    Bei mir muss beim Befehl _ExcelBookAttach die Datei nicht mal in Excel geöffnet sein, weiß aber nicht ob das bei O2k3 auch so ist. Wenn der Text im Feld I3 mit 'mailto:' beginnt, dann öffnet sich automatisch ein 'Senden an-Fenster' deines Standard-Email-Clients.

  • In meiner EXCEL Zelle steht kein mailto: davor. Sollte auch nicht so werden.

    Es steht nur die reine eMailadr. in der Zelle I3 und ist mit einem Hyperlink "behaftet". Wenn ich drauf klicke, geht Outlook auf.

    Aber ich habe mal testweise ein mailto: davor geschriben - klappt leider auch nicht mit deinem Code:


    #include <INet.au3>
    #Include <Excel.au3>
    $oXLS = _ExcelBookAttach(@DesktopDir & '\Microsoft Excel - Mappe5.xls')
    $MailTo = _ExcelReadCell($oXLS, 3, 9) ;lese aus I3
    If StringLeft($MailTo, 7) = 'mailto:' Then _INetMail(StringTrimLeft($MailTo, 7), "Betreff", "Text")

    ---

    Es kommt diese Meldung:>"C:\Programme\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Programme\AutoIt3\Examples\include---.au3"
    --> Warning from function _ExcelAttach, No Match
    >Exit code: 0 Time: 0.411

    Und meine EXCEL Datei (z.Zt. Mappe5) ist dabei geöffnet.

    noch ne Idee?

  • Wenn in Deiner Zelle nur die reine Mailadresse steht, sollte es ja auch wie folgt aussehen:

    [autoit]

    #include <INet.au3>
    #Include <Excel.au3>
    $oXLS = _ExcelBookAttach(@DesktopDir & '\Microsoft Excel - Mappe5.xls')
    $MailTo = _ExcelReadCell($oXLS, 3, 9) ;lese aus I3
    If $MailTo <> "" Then _INetMail($MailTo, "Betreff", "Text")

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"