Microsoft Excel

Herbers Excel/VBA-Archiv

Programm mit Sendkey steuern, aber Fokus auf Excel | Herbers Excel-Forum


Betrifft: Programm mit Sendkey steuern, aber Fokus auf Excel von: Martin S.
Geschrieben am: 05.03.2010 13:30:17

Hallo,

gibt es eine Möglichkeit, dass Excel einer anderen Anwendung einen Tastaturbefehl (STRG+E) sendet, dabei aber den Fokus behält. Im Augenblick verwende ich folgendes Makro:

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub CSV_Export()
     AppActivate "TT"  'Fokus auf Anwendung verlegen
     Sleep 200
     .SendKeys ("^e")
     AppActivate (Application.Caption)  'Fokus zurück an Excel
End Sub

  

Betrifft: AW: Programm mit Sendkey steuern, aber Fokus auf Excel von: Renee
Geschrieben am: 05.03.2010 14:15:30

Hi Martin,

...und was ist am jetzigen Makro faul ??

GreetZ Renée


  

Betrifft: AW: Programm mit Sendkey steuern, aber Fokus auf Excel von: Martin S.
Geschrieben am: 05.03.2010 14:29:06

Hallo Renée,

ich will nicht "pinglich" erscheinen, aber das kurzzeitige Erscheinen des Fensters der anderen Anwendung könnte einige Kollegen irritieren und ist auch in meinen Augen nicht so schön. Das Makro erfüllt aber sonst seinen Zweck, ist also nicht "faul".

Viele Grüße

Martin


  

Betrifft: Das passiert so oder so.... (owT) von: Renee
Geschrieben am: 05.03.2010 14:38:23




  

Betrifft: AW: Programm mit Sendkey steuern, aber Fokus auf Excel von: fcs
Geschrieben am: 05.03.2010 14:51:47

Hallo Martin,

SendKeys kann nur Befehle an die aktive Anwendung schicken - siehe VBA-Hlfe.

Zu jeder etwas komplexeren Excel-Anwendung, die man nicht nur für sich selber schreibt, gehören eigentlich auch immer Hinweise für Anwender und eine ggf. auch umfangreiche Anleitung/Dokumentation.

Damit lassen sich dann solche "Irritationen" relativ problemlos vermeiden.
Ob etwas "nicht so schön" ist, das sollte manchmal zweitrangig sein. Das Ergebnis muss stimmen.

Gruß
Franz


  

Betrifft: AW: Programm mit Sendkey steuern, aber Fokus auf Excel von: Martin S.
Geschrieben am: 05.03.2010 15:11:45

Hallo Renee, halle Franz,

offen gesagt mag ich die SendKeys-Anweisung überhaupt nicht, weil das für mich nur eine unsaubere Notlösung ist. Leider habe ich aber keine andere Möglichkeit gefunden die Anwendung anders anzusprechen, bin aber froh, dass es so - meistens - funktioniert. Die andere anzusteuernde Anwendung ist übrigens mit Delphi selbstgeschrieben. Gibt es eine Möglichkeit, dass ich als Alternative zur SendKeys-Anweisung in Delphi eine "Schnittstelle" für Excel einbinden kann?

Viele Grüße

Martin


  

Betrifft: AW: Programm mit Sendkey steuern, aber Fokus auf Excel von: fcs
Geschrieben am: 05.03.2010 16:02:51

Hallo Martin,

ich kenne mich nur mit den Möglichkeiten zur Steuerung von VBA-fähigen Anwendungen aus - und dies in den Grenzen von MS-Office.

Wenn es externe Anwendungen zur Bereitstellung von Daten erfordert nutze ich in Excel-VBA die Shell-Methode, um die externe Anwendung zu starten, und prüfe per rekursivem OnTime-Aufruf in Excel, ob die externe Anwendung die Daten bearbeitet und in einer Datei gespeichert hat. Aber auch das hat so seine Tücken.

Von Delphi und seinen Möglichkeiten hab ich keine Ahnung.

Gruß
Franz


Beiträge aus den Excel-Beispielen zum Thema "Programm mit Sendkey steuern, aber Fokus auf Excel"