Ablösung von DEE

21/12/2007 - 15:55 von Herbert Meier | Report spam
Guten Tag

Ich bin immer noch auf VB6, möchte aber eine Migration vorbereiten. Eine
Anwendung benutzt DEE zu Excel und muss reagieren, wenn ein bestimmtes Feld
in Excel àndert. Da DDE in .net nicht mehr existiert, stelle ich mir die
Frage, wie dies abgelöst werden kann. Ich kann natürlich mit Automation auf
Excel zugreifen, aber kann mir Excel dann auch das Ereignis auslösen, wenn
etwas àndert, ohne dass ich stàndig abfragen muss? Oder gibt es andere
elegantere Lösungen?

Vielen Dank für Hinweise.
Herbert
 

Lesen sie die antworten

#1 Mathias Wührmann
21/12/2007 - 22:49 | Warnen spam
Hallo Herbert,

Herbert Meier schrieb:
Ich bin immer noch auf VB6, möchte aber eine Migration vorbereiten.
Eine Anwendung benutzt DEE zu Excel und muss reagieren, wenn ein
bestimmtes Feld in Excel àndert. Da DDE in .net nicht mehr existiert,
stelle ich mir die Frage, wie dies abgelöst werden kann. Ich kann
natürlich mit Automation auf Excel zugreifen, aber kann mir Excel
dann auch das Ereignis auslösen, wenn etwas àndert, ohne dass ich
stàndig abfragen muss? Oder gibt es andere elegantere Lösungen?



ich hatte diese Problemstellung noch nicht und kenne den betreffenden
Teil des Excel-Objektmodells nicht gut genug, um eine verbindliche
Aussage zu treffen, aber:

In Excel-VBA existieren u.a. die Ereignisse Calculate und Change für das
Worksheet-Objekt und SheetCalculate und SheetChange für das Workbook.
Vielleicht kannst Du eine Instanz eines dieser Objekte mit WithEvents
erzeugen und dann einfach auf diese Ereignisse reagieren?

Zweiter Ansatz wàre ein File System Watcher, der die Excel-Datei auf
(gespeicherte) Änderungen überwacht. Hier wird auch ein Ereignis
erzeugt, auf das Du dann reagieren kannst. Beispiel:
http://www.freevbcode.com/ShowCode.asp?IDH41

Grüße,

Mathias Wührmann
http://www.flexact.de (Software, Datenbanken, Beratung)

Ähnliche fragen