Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :( Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

chris72
Posts: 7
Joined: 24 Dec 2018, 01:14

Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :(

27 Dec 2018, 18:04

Hallo,

ich habe eine OpenOffice-Calc-Tabelle mit Usernamen.

Ich markiere einen der User und starte folgendes Script:

Code: Select all

!q::													; Eine Zelle in der Spalte User auswählen
SetKeyDelay, 110											; Standard-Verzögerung
send ^c													; STRG+C drücken
user:=clipboard												; User als Variable user speichern
Send {Right 1}												; In der Tabelle ein Feld nach rechts
send ^c													; STRG+C drücken
messageurl:=clipboard										; Chat-URL als Variable messageurl speichern
send {Left 2}												; 2 nach links auf Notizfeld
File = C:\Users\christian\Desktop\ahktest\mdhtext\mdhtext1.txt			; Anrede speichern
FileRead,FileContents,%File%									; als Variable text1
Sort,FileContents,Random										; 	"
text1 := SubStr(FileContents,1,InStr(FileContents,"`r")-1)				; 	"
File = C:\Users\christian\Desktop\ahktest\mdhtext\mdhtext2.txt			; Satz speichern
FileRead,FileContents,%File%									; als Variable text2
Sort,FileContents,Random										; 	"
text2 := SubStr(FileContents,1,InStr(FileContents,"`r")-1)				; 	"
File = C:\Users\christian\Desktop\ahktest\mdhtext\mdhtext3.txt			; Gruß speichern
FileRead,FileContents,%File%									; als Variable text3
Sort,FileContents,Random										; 	"
text3 := SubStr(FileContents,1,InStr(FileContents,"`r")-1)				; 	"
Run %messageurl%											; Chat-Seite für den User öffnen
Return
Das klappt soweit alles wie soll. Anschließend rufe ich dann 4 Variablen ab um sie in ein Nachrichtenfenster einzugeben:

Code: Select all

!w::
Send %text1% %user%%text2% %text3%
Return
Mein Problem ist jetzt, dass die Variable User (stammt als Einzige direkt aus der Tabelle) immer 2 Zeilenumbrüche mitbringt.

Das Ergebnis von Alt w sieht dann jedes mal etwa so aus:
text1 user

text2 text3

Ich habe schon eine Zeit lang mit Replace rum probiert, aber erfolglos.

In dem Nachrichten-Formular kann man entweder mit Enter abschicken (Wäre prima zu automatisieren mit nem Enter am Ende)... oder per Klick auf nen Button, an denn ich mit Tab nicht ran komme und wie ich das HTML-Element (<i class="fa fa-send"></i>) klicken kann, hab ich leider noch nicht heraus gefunden.

Wegen den Zeilenumbrüchen in der Variable user, müsste man jedes mal von Hand den Absenden-Button klicken. :cry:

Also entweder krieg ich irgendwie diese Zeilenumbrüche weg... oder ich schaff's mal irgendwie diesen Button da per ahk zu klicken.

Hoffentlich kann mir jemand etwas weiter helfen, Danke!!!
hd0202
Posts: 183
Joined: 04 Oct 2013, 03:07
Location: Germany near Cologne

Re: Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :(  Topic is solved

27 Dec 2018, 22:57

kürze einfach mal die Länge

Code: Select all

user := substr(user, 1, strlen(user) - x)	; wobei du x von 1 bis 4 variierst
Hubert
User avatar
LuckyJoe
Posts: 341
Joined: 02 Oct 2013, 09:52

Re: Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :(

28 Dec 2018, 03:08

... oder entferne den Zeilenumbruch hinter dem Usernamen (der wird beim Kopieren von Zellen in OpenOffice-Calc oder auch Excel immer mitkopiert):

Code: Select all

user := StrReplace(Clipboard, "`r`n")
HG - Lucky Joe
Herzliche Grüße aus dem Rheinland
Lucky Joe
chris72
Posts: 7
Joined: 24 Dec 2018, 01:14

Re: Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :(

28 Dec 2018, 07:00

hd0202 wrote:
27 Dec 2018, 22:57
kürze einfach mal die Länge

Code: Select all

user := substr(user, 1, strlen(user) - x)	; wobei du x von 1 bis 4 variierst
Hubert
DANKE Hubert hd0202 ! Mit der 2 hinten hats funktioniert. :P

@LuckyJoe: Bei deinem Code gab's eine Fehlermeldung: Call to nonexistent function
...trotzdem Danke auch Dir!

Gruß Chris
User avatar
Scr1pter
Posts: 1272
Joined: 06 Aug 2017, 08:21
Location: Germany

Re: Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :(

28 Dec 2018, 08:14

StrReplace ist aber eigentlich eine Standard-Funktion.
Welche AHK-Version verwendest du, Chris?
(Nicht dass du dich einfach nur verschrieben hast?)

Grüße
Please use [code][/code] when posting code!
Keyboard: Logitech G PRO - Mouse: Logitech G502 LS - OS: Windows 10 Pro 64 Bit - AHK version: 1.1.33.09
just me
Posts: 9451
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :(

28 Dec 2018, 09:23

Nur der Vollständigkeit halber:

Zum Entfernen von (Resten von) Zeilenumbrüchen am Ende eines Textes ist auch die Funktion RTrim() bestens geeignet:

Code: Select all

Bereinigt := RTrim(Original, "`r`n")
entfernt alle Zeichen am Ende von Original, die entweder ein `r oder ein `nsind.

Diese Funktion existiert schon etwas länger als StrReplace().
chris72
Posts: 7
Joined: 24 Dec 2018, 01:14

Re: Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :(

29 Dec 2018, 06:33

@Scr1pter
die AHK-Version bei mir ist 1.1.13.1 siehe folgender Screenshot:

Image

Ist das gut oder schlecht? :shock:
User avatar
LuckyJoe
Posts: 341
Joined: 02 Oct 2013, 09:52

Re: Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :(

29 Dec 2018, 06:48

Aktuell ist Version 1.1.30.01 vom 11.11.18 (https://www.autohotkey.com/download/), aktuelle deutsche Hilfe dazu: https://github.com/ahkde/docs/releases/tag/v1.1.30.01.
Herzliche Grüße aus dem Rheinland
Lucky Joe
chris72
Posts: 7
Joined: 24 Dec 2018, 01:14

Re: Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :(

29 Dec 2018, 07:45

hab grad https://www.autohotkey.com/download/ahk-install.exe herunter geladen...
Aufm PC heisst die datei dann: AutoHotkey_1.1.30.01_setup.exe
Doppelklick drauf...
Image
gregster
Posts: 9001
Joined: 30 Sep 2013, 06:48

Re: Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :(

29 Dec 2018, 09:17

chris72 wrote:
29 Dec 2018, 07:45
hab grad https://www.autohotkey.com/download/ahk-install.exe herunter geladen...
Aufm PC heisst die datei dann: AutoHotkey_1.1.30.01_setup.exe
Doppelklick drauf...
Image
Vgl. https://ahkde.github.io/docs/FAQ.htm#install
chris72
Posts: 7
Joined: 24 Dec 2018, 01:14

Re: Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :(

29 Dec 2018, 11:15

Danke Dir gregster!

Bei der .exe war ich von einer ausführbaren Datei ausgegangen, nicht von einem Archiv, dass ich erst entpacken muss.

Dann laut der Hilfe-Seite: "Verwenden Sie 7-Zip oder ein kompatibles Programm, um die Setup-Dateien aus der Installer-EXE zu extrahieren und starten Sie dann setup.exe"
Wenn ich die .exe mit 7zip entpacke und anschliessend die setup.exe doppel klicke:
Error at Line 1.
Line Text: MZ
Error: This line does not contain a recognized action.
The program will exit.
Erst wenn ich wie weiter beschrieben, die Installer.ahk auf AutoHotkeyU32.exe ziehe, funktioniert die Installation.

Besonders toll gelöst finde ich das so nicht, aber gut... Zumindest läuft jetzt die aktuelle AHK-Version.
gregster
Posts: 9001
Joined: 30 Sep 2013, 06:48

Re: Text aus Calc-Feld in Variable... Dann 2 Zeilenumbrüche :(

29 Dec 2018, 11:23

Das ist nur eine Behelfsmaßnahme, die dort beschrieben wird. Eben für den Fall, dass dieser '7-zip Error' erscheint.

Normalerweise funktioniert das als selbstentpackendes Archiv, das ein Installationsskript startet. Aber:
Manchmal kann es vorkommen, dass die Dateien aufgrund von Systemrichtlinien oder andere [sic] Faktoren nicht extrahiert oder ausgeführt werden dürfen.
Ich hatte das Problem selber noch nie, aber es kommt gelegentlich vor, wenn man die Rückmeldungen in Forum betrachtet. Ich könnte mir bspw vorstellen, dass auch bestimmte Anitvirus-Programme solche selbstentpackenden Archive standardmäßig blockieren.

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 65 guests