Beiträge von P1xelfehler
-
-
Irgendwie nicht, da das auf der Seite ja innerhalb von Excel ist. Sowas hab ich schon mehrmals gefunden. Nur weiß ich nicht, wie ich das in AutoIT schreiben soll.
Das hier geht zumindest nicht:
Code$oExcel.Application.VBE.ActiveVBProject.VBComponents.Remove $oExcel.Application.VBE.ActiveVBProject.VBComponents("Kopieren")
Das hier auch nicht: -
Hallo,
Ich importiere mit Hilfe von AutoIT VBA-Module in Excel.
ich würde gerne,dass das AutoIT-Skript entweder:
A) Erkennt, dass das Modul schon vorhanden ist und dieses nicht importiert
ODER
B) Das Modul in jedem Fall vorher löscht und es dann erst importiertWie mache ich das?
Vielen Dank im voraus!
Code:
-
Du kannst das, was das Makro macht (VBA-Code), in den meisten Fällen unkompliziert nach AutoIt portieren
Irgendwie finde ich da bei Google nichts zu oder bin ich blöd? Wie ginge das?
Und danke erstmal bis hierher
-
Passt zwar eigentlich nicht mehr hier rein, aber:
Kann man auch in der momentan geöffneten Excel-Datei mit einem AutoIT-Befehl direkt ein Makro importieren und evtl. direkt ausführen?
Das ausführen habe ich bereits mit einer Tastenkombination im Makro gelöst, die AutoIT dann einfach ausführt, aber geht das auch anders?
-
-
-
Hallo,
mit $Title = WinGetTitle("") kann man ja den Titel eines Fensters auslesen. Jetzt will ich das bei einem Excel-Fenster machen. Das heißt dann z.B. "Microsoft Excel - Mappe 1".
Ich will jetzt aber nur dieses "Mappe 1" ohne den Rest als Variable haben! Wie?
Danke im Voraus
-
@water nochmals danke an dich
-
der rot unterstrichene hier:
-
Jetzt hab ich das Problem, dass sich eine bestimmte ControlID bei jedem Start des Programms ändert...
@water Kann man nicht, statt mit den Controls, einfach nur mit den Koordinaten im Fenster arbeiten? Oder wie kann man das lösen?
-
-
@water
Aus einem speziellen Programm in unserer Firma sollen Berichte (meistens so 50 oder mehr) einzeln angeklickt und in eine Excel-Datei exportiert werden. Ich hab das ganze jetzt soweit verbessert, dass ich in Excel selbst alles mit VBA löse (ausgelöst durch Autoit mit strg+k). Geht schon mal sehr viel schneller.Hab mir ControlClick mal angeschaut. Wo bekomme ich denn die ControlID her? Klingt ja erstmal super, da es dann nicht mehr alles kaputt macht, wenn ich das Fenster verschiebe
Und lese ich das richtig raus, dass man dann auch noch gleichzeitig irgendwas anderes am Rechner machen kann und das im Hintergrund läuft?
-
-
danke, hilft trotzdem sehr viel (weil 95% der Befehle eben diese sind^^)
Edit: aber handelt nicht "MouseClickDelay" - wenn ich das richtig lese - nur den Zeitabstand zwischen doppel (oder mehr) Klicks in einem Befehl? Und nicht vor oder nach dem Befehl?
-
Hallo,
ich habe ein Script, das verschiedene Dinge abarbeitet (hauptsächlich mit der Maus) und habe zwischen den Befehlen jeweils (fast) immer die gleiche Wartezeit (500ms) drin. Dadurch wird das ganze unnötig lang und unübersichtlich.
Kann man AutoIT nicht irgendwie sagen, es soll immer 500ms zwischen den Befehlen warten??
Danke im Voraus
-
-
Er wechselt zwar in das Excel-Fenster, aber Send("^{PAUSE}") "wirkt" irgendwie nicht... Das Excel-Skript läuft weiter. Wenn ich das selbst eingebe, geht es aber.
-
Hallo,
dieses Skript soll einfach nach Drücken von SHIFT + ESC das laufende Excel-Makro pausieren (was mit STRG + PAUSE geht) und mein anderes (mit Visual Basic erstelltes) Programm schließen.
Die andere Tastenkombination (nur ESC) zum killen von allen Prozessen funktioniert.
Bin ich blind?
Danke im Voraus
~P1xelAutoIt
Alles anzeigen#include <File.au3> ;ESC-Taste um alles sofort abzubrechen HotKeySet("{ESC}","_AllesAbbrechen") ;Killt Project Excel und Excel selbst und beendet sich Func _AllesAbbrechen () ProcessClose("Projekt Excel.exe") ProcessClose("EXCEL.EXE") ProcessClose("Excel einstellen.exe") ProcessClose("Excel zurückstellen.exe") ProcessClose("Makro Bloecke starten.exe") ProcessClose("Makro KostenNeubau starten.exe") ProcessClose("Makro KostenRenovierung starten.exe") ProcessClose("Makro Reparaturkosten starten.exe") ProcessClose("Makro SpaltenAusblenden.exe") ProcessClose("Makro SpaltenEinblenden.exe") ProcessClose("Makros importieren (fertig).exe") ProcessClose("Makro Sortieren starten.exe") Exit EndFunc HotKeySet("+{ESC}", "ProjectExcelAbbrechen") Func ProjectExcelAbbrechen () ;Stoppt das laufende Modul und killt NUR Project Excel! ;Projekt Excel killen ProcessClose("Projekt Excel.exe") ;Excel-Fenster auswaehlen Opt("WinTitleMatchMode", 2) WinActivate("Microsoft Excel") WinWaitActive("Microsoft Excel") ;Laufendes Excel-Modul stoppen Sleep(500) Send("^{PAUSE}") Exit EndFunc $a = 1 While $a = 1 Sleep(1000) WEnd
-
siehe Edit, geht doch, war mein Fehler...