EXCEL-Zelle aus AutoIt aktivieren

  • Ich habe folgendes Problem:
    Ich möchte nachdem ich mit AutoIt eine Tabelle beschrieben habe als letztes eine bestimmte Zelle aktivieren.
    Etwas wie:
    Range("A1").activate
    Ich habe da leider nichts gefunden. Kann mir jemand einen Tipp geben?

    Ich habe eiserne Prinzipien.
    Wenn sie Dir nicht gefallen, habe ich auch noch andere.

    Einmal editiert, zuletzt von Fernando (24. Februar 2013 um 04:03)

  • Activate sollte eine einzelne Zelle aktivieren. Oder versuch mal "Select".

  • Hallo water,

    Danke für die Antwort, es geht aber nicht um VB-Befehle, sondern um einen Befehl aus AutoIt heraus.
    Mit den Befehlen von AutoIt die ich kenne, kann ich zwar sagen, welche Zelle beschrieben werden soll, aber nicht, welche sichtbar markiert ist.
    Mir geht es dabei um folgende 2 Punkte:
    1. Ich möchte nach dem Schreiben der Tabelle, dass die aktivierte Zelle zum Beispiel die "A1" ist.
    2. Dass ich während dem Überschreiben einer vorhandenen Tabelle sehe, an welcher Stelle gerade die Daten überschrieben werden.

    Ich würde mich über einen guten Vorschlag freuen.
    Die letzte Möglichkeit, die ich aber nicht gut finde, wäre, dass ich jedes mal ein Makro starte, das diese Zelle aktiviert.

    Gruß
    Fernando

    Ich habe eiserne Prinzipien.
    Wenn sie Dir nicht gefallen, habe ich auch noch andere.

    Einmal editiert, zuletzt von Fernando (24. Februar 2013 um 03:10)

  • Hallo water,

    habe gerade die Lösung gefunden und zwar unter der Beschreibung von Funktion ObjGet.
    $oExcel.ActiveWorkBook.ActiveSheet.Cells($Zeile,$Spalte).activate.
    Hatte Dich vermutlich falsch verstanden.

    Gruß
    Fernando

    Ich habe eiserne Prinzipien.
    Wenn sie Dir nicht gefallen, habe ich auch noch andere.

  • zur Überleitung des Beispiels:

    [autoit]


    #include <Excel.au3>

    [/autoit][autoit][/autoit][autoit]

    Local $oExcel = _ExcelBookNew() ;Create new book, make it visible
    .....
    $oExcel.Range("A1:C3").Select ; zum markieren von Bereichen
    $oExcel.Range("B5").Activate ; aktiviere Zelle

    [/autoit]
  • Hallo qwert23,

    Danke für die weiteren Beispiele.
    Wenn ich das sehe, kann ich dann davon ausgehen, dass ich allen VB-Befehlen ein "$oExcel." voraussetzen kann, damit sie im EXCEL umgesetzt werden? Das wäre genial.

    Ich habe eiserne Prinzipien.
    Wenn sie Dir nicht gefallen, habe ich auch noch andere.

  • so ungefähr.
    Du mußt den Aufruf beachten, wie $oExcel = .....
    Eigentlich ist das meist einfach umzusetzen aus den Beispielen...
    schaue auch in die Excel.au3, da findest Du auch viele viele Einzelbefehle.

  • Das Excel COM Modell besteht aus:

    • Properties - Attribute, Eigenschaften eines Objektes
    • Methods - Funktionen die auf ein Object angewendet werden
    • Collections - Sammlung von Objekten

    Angewendet auf

    $oExcel.ActiveWorkBook.ActiveSheet.Cells($Zeile,$Spalte).Activate

    bedeutet dies:Activate ist eine Methode des Range Objekts (Cells()
    Der Range bezieht sich auf das aktuelle Blatt (ActiveSheet) des aktuellen Books (ActiveWorkbook) der durch $oExcel definierten Applikation.

  • water
    Danke für die schnelle Antwort,
    Auf Grund der schnellen und guten Antworten, die ich hier im Forum bekommen habe, macht es immer mehr Freude mit AutoIt zu arbeiten.
    Es begann mit einem Programm um die Easy.Box auszulesen, das ich nur für meine Zwecke anpassen musste, ging dann weiter um einen Feiertagskalender, den ich mal in EXCEL geschrieben hatte in AutoIt umzusetzen, dann Telefon rückwärts, so dass ich mir die Werbung einspare, und jetzt habe ich ein Programm fertig, mit dem ich meine 100 Artikel bei Amazon verwalte und mir täglich die neuen Preise für diese Artikel in eine EXCEL-Tabelle schreiben lasse. In der Zwischenzeit war ich sogar in der Lage anderen zu helfen :) .

    Ich habe eiserne Prinzipien.
    Wenn sie Dir nicht gefallen, habe ich auch noch andere.