Vorhandenen text ergänzen

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Vorhandenen text ergänzen

Re: Vorhandenen text ergänzen

Post by LuckyJoe » 08 Aug 2018, 16:04

Hallo Sven,

willkommen im Forum; natürlich gibt es immer viele Wege, die nach Rom führen, aber taste dich am besten langsam vor. Dein Script funktioniert ja schon mal, man kann es etwas kürzen:

Code: Select all

^SC029::
	SendInput, {Home}
	SendInput, (
	SendInput, {Right 4}
	SendInput, {+}
	SendInput, 2
	SendInput, {End}
	SendInput, )
	SendInput, *
Return
Im Detail:
Statt 9x SendInput, {Left} aufzurufen, kannst du mit "POS1" ({Home}) gleich an den Anfang deiner Zellberabeitung springen. Das hat zudem den Vorteil, dass du auch Zahlen über "9,99" überspringen kannst.

"Normale" Zeichen musst du nicht in geschweifte Klammern setzen, so dass SendInput, ( reicht.

Statt 4x SendInput, {Right} zu schreiben, geht es einfacher mit SendInput, {Right 4}.

Bei SendInput, {+} muss das "+" in geschweifte Klammern, da sonst die nächste Eingabe mit "Shift" gesendet wird.

Bei SendInput, 2 kannst du die geschweiften Klammern wieder weglassen.

Statt 5x SendInput, {Right} zu schreiben, kannst du jetzt wieder mit SendInput, {End} unmittelbar an das Ende ddeiner Zellebearbeitung springen.

Die beiden letzten Zeilen schenke ich mir.

Setzt du vor dem ersten SendInput, {Home} noch die Zeile SendInput, {F2}, dann sparst du dir nach dem Klick auf die Zelle den nächsten Klick in die Bearbeitungszeile - wieder etwas gespart ;-)

Du kannst natürlich noch flexibler werden, wenn du den Zellwert beispielsweise in die Zwischenablage einliest (schau mal in der Hilfe nach "Clipboard") und dort nach der Position des "*" suchst. Dann kannst du die Zwischenablage oder einzelne Zeichen darin ersetzen (Hilfe: "Replace").

Letztendlich gibt es auch die Möglichkeit, Excel über das "ComObjActive" direkt anzusprechen, Zellwerte auszulesen, zu bearbeiten und zurückzuschreiben. ... Und dann gibt es noch ... nein, das sollte für's erste reichen.

Viel Erfolg!
Viele Grüße - Lucky Joe.

Re: Vorhandenen text ergänzen

Post by Guest » 07 Aug 2018, 14:00

Vorläufig habe ich mir jetzt einmal so weitergeholfen...

Code: Select all

^SC029:: 	
	SendInput, {Left}
	SendInput, {Left}
	SendInput, {Left}
	SendInput, {Left}
	SendInput, {Left}
	SendInput, {Left}
	SendInput, {Left}
	SendInput, {Left}
	SendInput, {Left}
	SendInput, {(}
	SendInput, {Right}
	SendInput, {Right}
	SendInput, {Right}
	SendInput, {Right}
	SendInput, {+}
	SendInput, {2}
	SendInput, {Right}
	SendInput, {Right}
	SendInput, {Right}
	SendInput, {Right}
	SendInput, {Right}
	SendInput, {)}
	SendInput, {*}
Return
Wie es manchmal ist, findet man erst nach dem fragen die Antwort.
Reicht erst einmal, da ich selten zahlen über 9,99 haben werde, das kann man dann auch mal ohne AHK mache. Oder gibt es dafür eine Option ?

Die Profis unter euch werden wahrscheinlich denken :roll: villeicht gib´s ja noch einen anderen weg.
Wäre trotzdem an Antworten interessiert, da mich das ja auch wieder ein stück weiterbringt, AHK besser kennen zulernen.

Vorhandenen text ergänzen

Post by Sven » 07 Aug 2018, 12:28

Hallo alle zusammen, ich benutze seit einiger Zeit AHK um mir allgemein eingaben zu erleichtern. Also nur laienhaft.
nun mochte ich gern einen vorhandenen text bzw. zahlen ergänzen.

Das ganze passiert in einer Exceltabell, folgendes soll passieren...

wenn ich die Zelle mit dem vorhandenen Text anklicke (zum bearbeiten/hineinschreiben)
Vorhandener Text "0,00*0,00"
Dieser soll bei Eingabe einer bestimmten Zeicheneingabe, z.B. "()" an erster stelle "(" schreiben vor dem "*" ein +2 und am ende ")*"danach möchte ich dann selbst noch einen Zahlenwert eintragen.

freue mich wenn mir jemand dabei helfen kann, da es mir das leben um einiges erleichtern wird.
Liebe Grüße und viel spaß beim schwitzen ;)
Sven.

Top