Forums Neueste Beiträge
 

Excel2003: SendKeys verhält sich unter Vista anders?

10/09/2007 - 14:20 von Thomas Tauber | Report spam
Hallo,

ich habe schon seit Jahren eine Mappe, bei der ich bei 'Workbook_Open'
folgende Zeile eingefügt habe:

Application.OnKey "{DEL}", "ZellInhaltEntfernung_Del"

Die Entfernungstaste wird dadurch umgeleitet zu diesem Code:

Sub ZellInhaltEntfernung_Del()

Application.OnKey "{DEL}"
SendKeys "{DEL}", True
Application.OnKey "{DEL}", "ZellInhaltEntfernung_Del"
End Sub

Natürlich ist das nur ein Ausschnitt aus dem Code, sonst hàtte das ja gar
keinen Sinn ;-)
In Wirklichkeit gibt es dort je nach selbst eingerichteter
'Sicherheitsstufe' z.B. die Möglichkeit, nach einer MsgBox doch noch zu
löschen oder das löschen wird ganz unterbunden
Aber der Code reicht für 'meinen Fehler' aus:
Dieser Code làuft unter Excel2003 mit WindowsXPPro seit Jahren problemlos,
unter VistaUltinate (32bit) flackert nur der Cursor, gelöscht wird nichts.

Was ist die Ursache und noch wichtiger:
Wie kann ich dieses Problem 'umschiffen'?

Über Eure Hilfe freut sich
T.Tauber
 

Lesen sie die antworten

#1 Thomas Ramel
10/09/2007 - 18:31 | Warnen spam
Grüezi Thomas

Thomas Tauber schrieb am 10.09.2007

ich habe schon seit Jahren eine Mappe, bei der ich bei 'Workbook_Open'
folgende Zeile eingefügt habe:

Application.OnKey "{DEL}", "ZellInhaltEntfernung_Del"

Die Entfernungstaste wird dadurch umgeleitet zu diesem Code:

Sub ZellInhaltEntfernung_Del()

Application.OnKey "{DEL}"
SendKeys "{DEL}", True
Application.OnKey "{DEL}", "ZellInhaltEntfernung_Del"
End Sub



Hmmm, hierzu vielleicht zwei Dinge.

SendKeys ist *àusserst* unsicher - wenn Du bisher keine Probleme damit
hattest dann war da eher Glück mit im Spiel.

Warum weist Du im Open-Ereignis, der DEL-Taste eine Sub zu, hebst die
Zuweisung in der Sub wieder auf, nur um sie anschliessend gleich wieder zu
setzen?

Natürlich ist das nur ein Ausschnitt aus dem Code, sonst hàtte das ja gar
keinen Sinn ;-)



...vielleicht liegt der tiefere Sinn ja in deinem weiteren Code - ich kanns
nicht beurteilen.

Aber der Code reicht für 'meinen Fehler' aus:
Dieser Code làuft unter Excel2003 mit WindowsXPPro seit Jahren problemlos,
unter VistaUltinate (32bit) flackert nur der Cursor, gelöscht wird nichts.



Ich lese hier zum zweiten Mal konkret davon, dass SendKeys in Vista
Probleme macht - oder warst es am Ende ebenfalls Du der die Frage in einem
Forum gestellt hatte...?

Was ist die Ursache und noch wichtiger:
Wie kann ich dieses Problem 'umschiffen'?



Nimm anstelle von SendKeys die eingebauten Methoden und Eigenschaften der
Objekte die Du ansprichst.

...womit wir bei der Frage wàren, was dein Code denn genau tut oder tun
soll.


Mit freundlichen Grüssen
Thomas Ramel

- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-2]
Microsoft Excel - Die ExpertenTipps

Ähnliche fragen