Latenz zwischen über Excel RTD empfangenen Daten und „Originaldaten“

Latenz zwischen über Excel RTD empfangenen Daten und „Originaldaten“

Ich habe ein Handelsprogramm (Software), das sich mit Excel verbindet (über Excel RTD), um Preise in Echtzeit auf meinem Blatt anzuzeigen. (Ich mache auch ein paar Berechnungen.) Aber aus Gründen, die ich völlig ignoriere, und zwar nicht immer, aber sehr oft, ist der Preis, den ich auf meinem Blatt sehe, etwas verzögert im Vergleich zu dem Preis, den ich in meiner Software sehe. Manchmal kann die Latenz der in Excel angezeigten Preise bis zu mehreren Minuten betragen. Da Excel RTD Daten in Echtzeit liefern soll, klingt es so, als ob es die Daten irgendwo speichert, wenn zu viele Informationen vorhanden sind. Wenn ich die Verbindung zwischen Excel und meiner Software deaktiviere, werden die Preise auf meinem Blatt noch einige Momente lang aktualisiert (diese „wenigen Momente“ entsprechen der Latenz zwischen Excel und der Software).

Das ist wirklich ärgerlich, da ich nicht weiß, warum Excel RTD mir die Preise mit einer solchen Verzögerung anzeigt! Mein Blatt hat weniger als 300 ausgefüllte Zellen, was meiner Meinung nach absolut nichts ist. Natürlich ist mein Excel-Drossellimit auf 0 eingestellt, um jedes Update zu erhalten. Ich habe auch meine Datei von a .xlsxin a geändert .xlsb, aber außer der Dateigröße hat sich nichts geändert.

Es scheint tatsächlich so, als ob Excel die Daten irgendwo speichert, aber das möchte ich nicht, ich möchte Echtzeitdaten.

  • Verwenden der neuesten Office-Version -

Was ist los? Wie kann ich meine Daten in Echtzeit in Excel abrufen?

Antwort1

Vielleicht könnten Sie in Erwägung ziehen, die RTD-Intervalldrosselung in Microsoft Excel anzupassen. So erhöhen Sie das Drosselungsintervall über das Excel-Objektmodell:

  1. Gehen Sie in Excel zum Visual Basic-Editor (indem Sie ALT+F11 drücken oder im Makromenü (Menü Extras) auf Visual Basic-Editor klicken).
  2. Geben Sie im Direktfenster (drücken Sie STRG+G oder klicken Sie im Menü Ansicht auf Direktfenster) diesen Code ein: Application.RTD.ThrottleInterval = 1000
  3. Stellen Sie sicher, dass sich der Cursor auf der Zeile befindet, die Sie gerade eingegeben haben, und drücken Sie dann die EINGABETASTE.
  4. Um zu überprüfen, ob es richtig eingestellt ist, geben Sie diese if-Codezeile in das Direktfenster ein: ?Application.RTD.ThrottleInterval
  5. Wenn Sie den Cursor an das Ende dieser Zeile setzen und die Eingabetaste drücken, sollte 1000 angezeigt werden. Dann wissen Sie, dass Ihr Drosselintervall richtig eingestellt ist.

Lesen Sie diesen Artikel, um zu sehen, ob er hilft: https://docs.microsoft.com/en-us/previous-versions/office/developer/office-xp/aa140060(v=office.10)#odc_xlrtdfaq_howconfigrtdthrottle

verwandte Informationen