![]() |
Sendkey-Befehl: Kopieren in Zwischenablage
ich brauche mal dringend hilfe,
ich bin jetzt z.B. in Excel, gebe dort in irgendeiner Zelle eine Wert ein, markiere einen Teil davon mit dem Befehl
Delphi-Quellcode:
Jetzt mein Problem: es kommt der markierte Teil in der Zwischenablage an, aber Teilweise wird dann noch der markierte Wert in Excel durch ein C ersetzt!
Sendkeys('^{c}',True);
Wie kommt das und was kann ich dagegen tun? |
Re: Sendkey-Befehl: Kopieren in Zwischenablage
Zitat:
Führst du diesen Code von Delphi aus? |
Re: Sendkey-Befehl: Kopieren in Zwischenablage
ja mache ich
|
Re: Sendkey-Befehl: Kopieren in Zwischenablage
Muss es Sendkeys sein? Excel hat afair auch ne Methode Copy, die das macht. Also z.B. sheet.copy, Range.Copy evtl auch ein Selection.Copy. Und umgekehrt gibts dann die Methode Paste. Hab sie zwar noch nie benutzt, aber die sollten das erledigen.
|
Re: Sendkey-Befehl: Kopieren in Zwischenablage
Aufpassen! Excel benimmt sich schlecht. Wird Excel beendet, so geht auch der Clipboard-Inhalt verloren.
Excel rendert den Clipboardinhalt naemlich nur wenn er auch abgerufen wird. |
Re: Sendkey-Befehl: Kopieren in Zwischenablage
Ist Excel im Vordergrund, wenn du Sendkeys(...) ausfuehrst?
Sonst wird evtl die Strg-Taste nicht "richtig" simuliert. |
Re: Sendkey-Befehl: Kopieren in Zwischenablage
Excel ist im Vordergrund, wenn Sendkeys ausgeführt wird. Richtig simuliert werden muss es ja, denn es kommt ja richtig in der Zwischenablage an. Damit sollte der Arbeitsgang ja auch erledigt sein, aber meist ersetzt er dann in Excel den markierten Teil durch ein C. Ich sage ihm doch mit dem Sendkey-Befehl nur, dass er den markierten Teil in die Zwischenablage packen soll, und mehr doch nicht. Deshalb begreife ich das mit dem C nicht
|
Re: Sendkey-Befehl: Kopieren in Zwischenablage
Hast du einen Rechner mit mehreren Prozessorkernen (>>intel HyperThreading )?
wenn ja ? hast du auf einem mit nur einem prozessor Kern bestücktem rechner das selbe problem? wenn nein. dann must du deinem Anwendung vorher mitteilen auf welchem prozessor sie zu laufen hat. |
Re: Sendkey-Befehl: Kopieren in Zwischenablage
nein, keine mehreren Prozessorkerne
|
Re: Sendkey-Befehl: Kopieren in Zwischenablage
Hast du eigentlich mal ein SendMessage(..., WM_COPY, ...) versucht?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz