Servus Gemeinde,
regelmäßig habe ich Daten aus Excel in alle möglichen anderen Anwendungen zu kopieren. In Teilen auch umfangreiche Textpassagen aus einer einzigen Zelle. Sobald diese Texte (zum Beispiel aktiv gesetzte (Strg+Enter)) Absätze als Formatierung beinhalten, übernimmt Clipbord nicht nur den Text, sondern der Text wird durch ^v immer auch (automatisch) in Anführungszeichen gesetzt. Für Clipboard markiere ich nicht extra den Zellinhalt (also den Text) sondern Bezug für die Übenahme nach Clipboard ist die Zelle (ich hoffe nachvollziehbar ). Hat jemand eine Idee, wie ich bei der Übernahme in Clipboard zwar die Formatierung, aber nicht diese lästigen Anführungszeichen übernehme?
Clipboard / automatische Sonderzeichen durch Excel
Moderator: jNizM
Re: Clipboard / automatische Sonderzeichen durch Excel
Moin!
Nicht wirklich!Für Clipboard markiere ich nicht extra den Zellinhalt (also den Text) sondern Bezug für die Übenahme nach Clipboard ist die Zelle (ich hoffe nachvollziehbar ).
Re: Clipboard / automatische Sonderzeichen durch Excel
... ich befinde mich auf einer Zelle im Datenblatt und lasse Clipboard damit die ganze Zelle kopieren
salopp ausgedrückt: ich mache auf der Zelle keinen Doppelklick und markiere dann erst noch den Text
salopp ausgedrückt: ich mache auf der Zelle keinen Doppelklick und markiere dann erst noch den Text
Last edited by vltier on 24 Nov 2017, 04:12, edited 1 time in total.
Re: Clipboard / automatische Sonderzeichen durch Excel
Wie kommt der Text ins Clipboard? Strg+c?
Re: Clipboard / automatische Sonderzeichen durch Excel
Verstehe ich das richtig, Du willst in die Verarbeitung zwischen Strg+c und Strg+v für beliebige Fenster eingreifen?
Re: Clipboard / automatische Sonderzeichen durch Excel
ja, ich fühle mich verstanden, mittels WinActivate wechsel ich zwischen beliebigen Fenstern und füge den kopierten Text ein.
Re: Clipboard / automatische Sonderzeichen durch Excel
Steuerst Du die komplette Aktion per Skript, inklusive Strg+c?
Re: Clipboard / automatische Sonderzeichen durch Excel
ja, zum Beispiel:
Code: Select all
WinActivate, Microsoft Excel - Datenquelle.xlsx
WinWait, Microsoft Excel - Datenquelle.xlsx,
IfWinNotActive, Microsoft Excel - Datenquelle.xlsx, , WinActivate, Microsoft Excel - Datenquelle.xlsx,
WinWaitActive, Microsoft Excel - Datenquelle.xlsx,
Sleep, 300
Send, ^g
Sleep, 300
WinWait, Gehe zu,
IfWinNotActive, Gehe zu, , WinActivate, Gehe zu,
WinWaitActive, Gehe zu,
Sleep, 300
Send, b8 ; Zusatz Abteilung
Sleep, 300
Send, {Enter}
Sleep, 300
Send, ^c
ClipWait ;Auf Inhalt des Clipboards warten
SetTitleMatchMode, 2
WinActivate, ImperiaEdit
WinWait, ImperiaEdit,
IfWinNotActive, ImperiaEdit
WinWaitActive, ImperiaEdit
Send, ^a
Send, ^v
Sleep, 300
Re: Clipboard / automatische Sonderzeichen durch Excel
Dann ist das kein Problem. Du hast ja die Kontrolle darüber, wann Du die Excel Daten kopierst. Und Clipboard verhält sich wie eine normale AHK-Variable, deren Inhalt man manipulieren kann. z.B.
Sicherer wäre allerdings folgende Abfolge:
Code: Select all
Clipboard := Trim(Clipboard, """")
Code: Select all
...
Send, {Enter}
Sleep, 300
SavedClipboard := ClipboardAll ; <<<<<
Clipboard := "" ; <<<<<
Send, ^c
ClipWait ;Auf Inhalt des Clipboards warten
SetTitleMatchMode, 2
WinActivate, ImperiaEdit
WinWait, ImperiaEdit,
IfWinNotActive, ImperiaEdit
WinWaitActive, ImperiaEdit
Send, ^a
Send, ^v
Sleep, 300
Clipboard := SavedClipboard ; <<<<<
Re: Clipboard / automatische Sonderzeichen durch Excel
Habe es, wie folgt, an vergleichbarer Stelle eingefügt:
...klappt leider nicht, hoffentlich liegt das nicht wieder an meiner alten Version.
Fehlermeldungen bekomme ich bei dieser Variante aber nicht.
Code: Select all
WinActivate, Microsoft Excel - Datenquelle.xlsx
WinWait, Microsoft Excel - Datenquelle.xlsx,
IfWinNotActive, Microsoft Excel - Datenquelle.xlsx, , WinActivate, Microsoft Excel - Datenquelle.xlsx,
WinWaitActive, Microsoft Excel - Datenquelle.xlsx,
Sleep, 300
Send, ^g
Sleep, 300
WinWait, Gehe zu,
IfWinNotActive, Gehe zu, , WinActivate, Gehe zu,
WinWaitActive, Gehe zu,
Sleep, 300
SavedClipboard := ClipboardAll ; <<<<<
Clipboard := "" ; <<<<<
Send, b60 ; Hinweise
Sleep, 300
Send, {Enter}
Sleep, 300
Send, ^c
ClipWait ;Auf Inhalt des Clipboards warten
SetTitleMatchMode, 2
WinActivate, ImperiaEdit
WinWait, ImperiaEdit,
IfWinNotActive, ImperiaEdit
WinWaitActive, ImperiaEdit
Send, ^v
Sleep, 300
Clipboard := SavedClipboard ; <<<<<
SendInput, {Enter}
Sleep, 300
Fehlermeldungen bekomme ich bei dieser Variante aber nicht.
Re: Clipboard / automatische Sonderzeichen durch Excel
Ja, die 1.0.48.05 habe ich vergessen. Da gibt es keine Trim() Funktion (die Du übrigens auch nicht eingebaut hast). Folgendes könnte aber funktionieren:
Code: Select all
Sleep, 300
Send, ^c
ClipWait ;Auf Inhalt des Clipboards warten
If (SubStr(Clipboard, 1, 1) = """") ; wenn das erste Zeichen ein " ist
Clipboard := SubStr(Clipboard, 2, -1) ; erstes und letztes Zeichen entfernen
Re: Clipboard / automatische Sonderzeichen durch Excel
Ich bin vorsichtig begeistert, klappt aber nur das erste Zeichen...
Re: Clipboard / automatische Sonderzeichen durch Excel
Code: Select all
Var := """ABC"""
MsgBox, %Var%
Var := SubStr(Var, 2, -1)
MsgBox, %Var%
Wenn die kopierten Werte aber immer nur je ein " am Anfang und am Ende haben, sollte das auch tun:
Code: Select all
If (SubStr(Clipboard, 1, 1) = """") ; wenn das erste Zeichen ein " ist
StringReplace, Clipboard, Clipboard, ", , All ; alle " entfernen
Re: Clipboard / automatische Sonderzeichen durch Excel
Excel fügt manchmal neben "" auch andere Zeichen am Ende ein. Es wäre sinnvoll wenn du hier einmal einfügen kannst was Clipboard enthält:
Code: Select all
;nachdem du in Excel die Daten per Ctrl + C kopiert hast:
^1:: ClipBoard := "[quote]|" . ClipBoard . "|[/quote]"
;und dann per Ctrl + V direkt ins forum kopieren
Recommends AHK Studio
Re: Clipboard / automatische Sonderzeichen durch Excel
Mit der editierten Variante hat es geklappt, herzlichsten Dank!!!
Nachfolgend der ClipboardAusdruck nach kopierter Excelzelle zur Info:
Nachfolgend der ClipboardAusdruck nach kopierter Excelzelle zur Info:
|TestFuerForum
|
Re: Clipboard / automatische Sonderzeichen durch Excel
Excel hängt also irgendeine Art von Zeilenwechsel an.
Eine Bitte noch: Wenn Du wieder etwas brauchst, das mit 1.0.48.05 laufen soll, weise bitte ausdrücklich darauf hin. Ich werde das beim nächsten Mal bestimmt schon wieder vergessen haben.
Eine Bitte noch: Wenn Du wieder etwas brauchst, das mit 1.0.48.05 laufen soll, weise bitte ausdrücklich darauf hin. Ich werde das beim nächsten Mal bestimmt schon wieder vergessen haben.
Re: Clipboard / automatische Sonderzeichen durch Excel
mach ich auf jeden Fall, nochmals Danke!
Re: Clipboard / automatische Sonderzeichen durch Excel
Wiso verwendest Du nicht die neue AutoHotKey - Version,
indem Du die neueste AutoHotKey.Exe gleichnamig wie das zu startende Skript machst (nur mit der Endung EXE)
und in den gleichen Ordner wie das Skript stellst
und dann die Exe startest?
indem Du die neueste AutoHotKey.Exe gleichnamig wie das zu startende Skript machst (nur mit der Endung EXE)
und in den gleichen Ordner wie das Skript stellst
und dann die Exe startest?
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
Re: Clipboard / automatische Sonderzeichen durch Excel
Manche Arbeitgeber mögen es überhaupt nicht, wenn ihre Mitarbeiter von der IT nicht zugelassene Anwendungen (Exe-Dateien) auf einen Firmenrechner legen.
Who is online
Users browsing this forum: No registered users and 62 guests