Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
988to992
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten per DDE gefülltem Array einlesen

Daten per DDE gefülltem Array einlesen
07.07.2008 14:21:00
Holg
Hallo Leute,
wir basteln hier schon die ganze Zeit an einem Problem, dass so easy aussieht - und es wahrscheinlich auch ist - aber irgendwie geht es nicht weiter. Könnt Ihr helfen?
Wir lesen per DDE Daten aus einer externen Applikation ein:
.Range("a1:a50").Select
Selection.FormulaArray = "=(BabsApplic|BabsTopic!Entry)"
Je nach Befehl den wir an 'BabsApplic' schicken, dauert es unterschiedlich lange bis die Daten zurück kommen, manchmal bis zu 30 sek und länger.
Der User soll aber nicht weiter machen, bevor die Daten eingetroffen sind. Wir haben schon alle möglichen Befehle, Schleifen, etc getestet, aber es scheitert immer daran, das wir nicht in der Lage sind, auszulesen, wenn sich die Werte im Bereich A1:A50 geändert haben.
Kennt jemand die Problematik (und besser: die Lösung)?
Vielen Dank,
Holger & Timo

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten per DDE gefülltem Array einlesen
07.07.2008 16:22:00
Tino
Hallo,
muss dies über Selection.FormulaArray geschehen?
Was für eine externe Applikation ist das?
Ist es eine Excel-Datei, könnte es auch reichen diese Datei zu öffnen (von mir aus auch unsichtbar),
den Bereich auslesen und wieder schließen?
Gruß Tino

www.VBA-Excel.de


AW: Daten per DDE gefülltem Array einlesen
07.07.2008 17:01:21
Holg
Hi Tino,
nein, es ist keine Excel Application. Es handelt sich um ein Computer Reservierungssystem das wir über ein Terminal Programm ansprechen.
Es muß nicht über Selection.FormularArray passieren, da sind wir ganz flexibel. Copy/Paste klappt nicht, da u.U. mehere (Bildschirm)Seiten an Daten zurück kommen. Wichtig ist halt nur, das wir die Daten irgendwie in ein Excel Sheet bekommen.
Any Ideas?
Vielen Dank,
Holger

Anzeige
AW: Daten per DDE gefülltem Array einlesen
07.07.2008 17:17:00
Tino
Hallo,
schwer eine Lösung zu suchen wen man dieses Computer Reservierungssystem nicht hat.
Aber in irgendeiner Form, muss ja auf eine Art Datenbank oder Datenablage zugegriffen werden, eventuell könnte man dies über SQL abfragen.
Aber dazu reichen die Infos nicht aus!?
Gruß Tino

www.VBA-Excel.de


AW: Daten per DDE gefülltem Array einlesen
08.07.2008 14:58:40
Holg
Hi Tino,
danke für Deine Hilfe. Ich weiß, ist blöd zu helfen wenn man die Systeme nicht hat.
Mittlerweile haben wir eine Lösung gefunden (hausgemacht - semi proffessionell, aber es funktioniert.
Ich lese den Wert aus Zelle A1 mit einer Formel in B1 immer wieder aus, bis sich der Wert verändert hat.
Nur mal so zur info, falls es jemanden interessiert:

Function GetAmaData(ByVal Entry As String, ByVal StartRange As String, ByVal EndRange As String) _
' 

Function forces Excel to wait until Data has arrived from Amadeus
' Entry = Amadeus Entry
' StartRange = First Cell of Data
' EndRange = Final Cell of Data
' BabsApplic and BabsTopic should be declared publicly
With ActiveSheet
'select area for data return and activate DDE process
.Select
.Range(StartRange & ":" & EndRange).Select
Selection.FormulaArray = "=(" & BabsApplic & "|'" & BabsTopic & "'!'" & Entry & "')"
'slow Excel down to avoid 'Type Mismatch' error
Counter = 1
For Counter = 1 To 100: DoEvents: .Range("j1") = Counter: Next Counter
'Insert reerence to check if data has returned
.Range("i1").Formula = "=" & StartRange
K = 0
Do Until K  0
K = .Range("i1").Value
Counter = Counter + 1
DoEvents
Loop
.Range("i1") = ""
.Range("j1") = ""
End With
End Function


Viele Grüße aus London,
Holger

Anzeige
AW: Daten per DDE gefülltem Array einlesen
08.07.2008 16:33:00
Tino
Hallo,
mach noch die .Select, Selection. raus und vervollständige die Deklarierung. ;-)
Gruß Tino

www.VBA-Excel.de


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige