Ich automatisiere ja auch gern und viel - aber hier geht das m.M. nach am Ziel vorbei, wenn du versuchst eine in VBA bzw. normalen Excel-Funktionen relativ unklompiziert vorzunehmende Aufgabe per Skript zu lösen.
Zellen vergleichen kann Excel intern schneller als ein Export/externer Lesezugriff dauert.
Das einzige, was ich evtl. automatisieren würde, ist das Eintragen der Auswerteformel in die Exceltabelle. ![]()
Beiträge von BugFix
-
-
-
Der Fehler bleibt der Gleiche...
Na super, vielleicht beschreibst du ihn dann mal klar?
Mit dem SatzZitatProblem ist nun, dass nach dem Schliessen des Editorfensters der Hintergrund der MAIN gegen eine Ansicht des Editors.
kann ich selbst nach 10-mal Lesen null komma nix anfangen. :wacko:
-
oder kennt jemand schon eine Loesung?
Ja, ich habe vor ein paar Jahren so etwas zur Pfadverkürzung erstellt und gepostet und vor nicht allzu langer Zeit (1 Monat etwa) gab es hier eine weiter Lösung dazu.
Also einfach mal die Suche quälen. -
Ich nehme mal an, dass du das in SciTE verwenden möchtest. Ich habe dazu eine LUA-Lösung erstellt.
CamelJump.lua -
Angeregt durch eine Fragestellung habe ich diese Funktionalität für den SciTE-Editor erstellt.
Die normale Bewegung von Wort zu Wort mit "Strg+Pfeil li/re" bleibt erhalten.
Um den CamelJump (also das Anspringen des nächsten Großbuchstaben im Wort) auszulösen einfach "Strg+Alt+Pfeil li/re" drücken. (Alternativ "AltGr+Pfeil li/re")
Installationsanweisung findet ihr in der Datei.CamelJump.lua
Code
Alles anzeigen-- TIME_STAMP 2012-01-28 17:47:45 v 0.2 -- INSTALLATION ----------------------------------------------------- -- -- Datei speichern im Verzeichnis: -- "..\SciTE\LUA\" -- -- LUA-Startup-Skript öffnen "..\SciTE\LUA\SciTEStartup.lua" -- Am Skriptende hinzufügen: -- 'LoadLuaFile("CamelJump.lua")' --------------------------------------------------------------------- JumpKey = EventClass:new(Common) function CamelJump(_d) local diff, caret, cLeft, s = 0, editor.CurrentPos if _d == 'left' then editor:WordLeft() cLeft = editor.CurrentPos go = cLeft editor:SetSel(cLeft, caret) s = editor:GetSelText():find('[A-Z][^A-Z]-$') diff = -1 else editor:WordRight() cLeft = caret caret = editor.CurrentPos go = caret editor:SetSel(caret, cLeft) s = editor:GetSelText():sub(2):find('[A-Z]') end if s then editor:GotoPos(cLeft + s +diff) else editor:GotoPos(go) end end --> CamelJump function JumpKey:OnKey(_keycode, _shift, _ctrl, _alt) if _ctrl and _alt and _keycode == 37 then CamelJump('left') end if _ctrl and _alt and _keycode == 39 then CamelJump('right') end return nil end --> JumpKey -
Die GUI wird nicht mit GuiCtrlSet... gefärbt

-
Braucht man doch gar nicht. Verkleinere das Radio auf den reinen Button (17x17) und setze ein transparentes Label daneben oder ein transparentes Picture mit Schrift.
-
Ich vermute ganz stark, dass der Fehler an sich nicht existiert, also die Stelle, die den Fehler hervorbringt selbst ordentlich arbeitet.
Vermutlich werden aber fehlerhafte Daten zur Abarbeitung übergeben (kein oder nicht richtig dimensioniertes Array).
Abhilfe: im Skript vor der Abarbeitung von Arrays überprüfen ob überhaupt ein Array verwendet wird und ob die Dimensionen stimmen. -
Da ich diese Funktion sehr oft nutze
WO nutzt du das? Geht es dir um den SciTE-Editor oder um Fremdsoftware. Das ist entscheidend für die Herangehensweise.
Falls es SciTE betrifft würde ich AutoIT keinesfalls verwenden, sondern LUA. Lua ist bereits in den Editor integriert und man braucht keine großartigen Verrenkungen zu machen um Positionen zu finden bzw. anzuspringen. -
aber hat jemand ne Idee
wäre aber nett wenn du Zeit hättest und parallel nen Beispiel basteln könntest. Bist bestimmt schneller als ich.
You make me confused :wacko:
Willst du eine Idee oder was Fertiges?
Probier dich mal selber, dann hast du auch einen Lerneffekt. Wenn ich dir das Ergebnis liefere (nichts anderes ist ein "Bsp.") ist der Mehrwert für dich gering. -
Mal als Gedankenskizze:
Pack deine Texte in ein Array.
Befülle dein Edit (damit willst du vermutlich arbeiten) dann Eintrag für Eintrag durch Anhängen (kleines Sleep dazwischen für die Optik).
Über die Funktionen der Edit-UDF regelst du, dass der aktuelle Eintrag (diese Zeile) sichtbar ist.
Kontrolliere ob und welcher Eintrag beim automatischen Scroll aus dem sichtbaren Editfeld "abtaucht" und lösche diesen sofort vom Gesamtinhalt des Edit.
Bist du am Ende des Array angelangt, beginnst du wieder mit dem ersten Eintrag.
Durch das Löschen der nicht mehr sichtbaren Einträge stellst du sicher, dass das Editfeld niemals einen Eintrag doppelt enthält. -
Hilfe lesen zu
[autoit]_GUICtrlListView_Create
[/autoit].
Besonders den auskommentierten Bereich in der Funktion "WM_NOTIFY". -
Wird bei FileWriteFromArray() nicht eben gerade zeilenweise geschrieben?...
Meines Wissens nicht. Es werden alle Item zu einem String verkettet und mit einem Schreibzugriff in die Datei geschrieben. Und das ist spürbar schneller als Tausende von Schreibzugriffen.
-
chip, ich muß dir widersprechen. Bei 6000 Zeilen solltest du unter keinen Umständen zeilenweise schreiben. Da kannst derweil viel Kaffee trinken.

Array ist hier absolut das Mittel der Wahl. -
Lies es mit _FileReadToArray ein und bearbeite die einzelnen Zeilen (ArrayItem). Anschließend mit _FileWriteFrom Array zurückschreiben.
-
Danke das wenigstens einer net dumm is und es wenigstens versteht oda so x)
Wenn du nicht in der Lage bist, eine Frage zu formulieren, solltest du dich nicht erdreisten andere als dumm zu bezeichnen![VERWARNT]
-
Der Wert muß zwingend als String übergeben werden, das solltest du also sicherstellen.
-
Genug des Kindergarten Gelabers.
Vorstellung ist durchgeführt, alles Notwendige wurde gesagt. Punkt.Und damit das hier nicht in irgendwelche sinnlosen Diskussionen und Bekenntnisse ausufert, hänge ich da mal ein Schloß vor.
Alles Weitere könnt ihr auf PN-Ebene klären.[CLOSED]
-
Aber keine Angst, ich hab nix gegen Bots, ich schreib nur selbst keine mehr
Vielleicht solltest du auch mal deine Einstellung gegenüber Bots überdenken.
Solange ihr euch hier an die Regeln haltet (das heißt nicht nur keine Fragen zu Bots, sondern auch kein Support für Botfragen, falls wir diese nicht schnell genug löschen konnten!) ist alles im Lot.
Aber selbstredend wachen wir mit Argusaugen auf die Einhaltung unserer Regeln. Wir wollen ein sauberes Forum und dulden keinen Dreck.