Clipboard Zwischentext einfügen

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

vltier
Posts: 58
Joined: 03 Oct 2016, 10:18

Clipboard Zwischentext einfügen

25 Nov 2017, 14:49

Servus Gemeinde! (ich nutze dienstlich die AHK v1.0.48.05 und eine Aktualisierung ist vorläufig nicht zu erwarten)

Aus der Hilfe für clipboard habe ich mir Folgendes angesehen:

Code: Select all

 clipboard = %clipboard% angefügter Text.   ; Fügt etwas Text an die Zwischenablage.
Prima Sache, aber kann man auch Texte zwischen Textteile des clipboards setzen? Wenn ja, wie könnte ich beispielsweise Nachfolgendes Umsetzen?

Clipboard beinhaltet:
Bei Aldi gibt es Wurst und Butter

Nach Scripteinsatz wirft

Code: Select all

strg+v
als Bestandteil des Scriptes aus:

Bei Aldi gibt es Wurst, Getränke Wurst und Butter
User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Clipboard Zwischentext einfügen

25 Nov 2017, 19:19

Wenn Du mir sagen kannst wo eingefuegt werden soll (eine eindeutige Regel), kann ich Dir vielleicht sagen wie.

Primitiv-Beispiel: es soll am Pipe Zeichen eingesetzt werden.

Code: Select all

ClipboardMitPipe=Bei Aldi gibt es Wurst | und Butter
EingefuegterText=, Getränke Wurst
StringReplace,Clipboard,ClipboardMitPipe,|,%EingefuegterText%               ; | darf nur einmal vorkommen!
Hier waere also ne Regel gefragt wohin kommt Pipe.
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
vltier
Posts: 58
Joined: 03 Oct 2016, 10:18

Re: Clipboard Zwischentext einfügen

26 Nov 2017, 00:45

Zunächst Danke (!) für den Wochenendeinsatz

Ich dachte vielleicht so:
Suche im clipboard die Zeichenfolge: "gibt es Wurst"
Füge dahinter ein: "Getränke" (erhalte dabei den Folgetext)

So dass beim nachfolgenden strg+v "Getränke" zwischen den vormals kopierten Text geschrieben wird.

Nach einigem Probieren ist mein Lösungsansatz eigentlich simpel:

Code: Select all

Send, ^c
    ClipWait ;Auf Inhalt des Clipboards warten
    StringReplace, Clipboard, Clipboard, gibt es Wurst, gibt es Wurst und Getränke, All ; gesuchten Textbereich anpassen
User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Clipboard Zwischentext einfügen

26 Nov 2017, 03:42

Hier der Versuch, dies allgemeiner zu fassen:

Code: Select all

EinfuegeKennerliste=
(
Wurst
Bier
)
^+c::
Eingefuegt:=false
ClipSave1:=Clipboard
Clipboard:=
Send {CtrlDown}c{CtrlUp}
if (ClipSave1="")
	return
ClipWait,2
Loop, Parse,EinfuegeKennerliste,`n,`r
{
	if (InStr(ClipSave1,A_LoopField))
	{
		StringReplace, Clipboard, ClipSave1, %A_LoopField%, %A_LoopField% %Clipboard%
		Eingefuegt:=true
		break
	}
}
if not Eingefuegt
	{
	if (SubStr(ClipSave1,0,1)=A_Space or SubStr(Clipboard,1,1)=A_Space)
		Clipboard := ClipSave1 Clipboard
	else
		Clipboard := ClipSave1 A_Space Clipboard
	}
return
jetzt kannst Du mit ^c den markierten Ausgangstext auswaehlen
und mit ^+c markierten Ergaenzungs-Text ins Clipboard einfuegen
und mit ^v das Ergebnis holen.
PS. Falls der EinfuegeKenner nicht vorkommt wird einfach angehaengt.
Es ist ungeprueft ob ueber alle Moeglichkeiten die Leerzeichen korrekt sind.
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
vltier
Posts: 58
Joined: 03 Oct 2016, 10:18

Re: Clipboard Zwischentext einfügen

27 Nov 2017, 03:18

Hab Dank für deine Mühen! Die Idee ist genial, bei mir klappt das aber leider nicht ganz, ^+c überschreibt den vormaligen Eintrag im Clipboard und der aktuell markierte wird mit ^v doppelt ausgeworfen...
User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Clipboard Zwischentext einfügen

27 Nov 2017, 06:17

Das kann aber nicht an der alten Version liegen !?!?

Markiere "Bei Aldi gibt es Wurst und Butter"
^c
Markiere "Getraenke"
^+c
Klicke in ein leeres Edit-Feld
^v
Dann sollte "Bei Aldi gibt es Wurst Getraenke und Butter" da stehen.
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
vltier
Posts: 58
Joined: 03 Oct 2016, 10:18

Re: Clipboard Zwischentext einfügen

27 Nov 2017, 14:51

...an der alten Version lag es nicht :-) danke nochmal!

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 19 guests