Excel via UTF-8 codiertes JSON über eine TCP/IP und/oder HTTP Schnitstelle
#1
Hallo ich such eine Lösung in Excel Daten an ein anders Programm weiterzugeben.

Das anderer Programm stellt ein Plugin zur Verfügung. Sas Input-Plugin empfängt UTF-8 codiertes JSON über eine TCP/IP und/oder HTTP Schnittstelle.


Wir benutzen eine Excel Tabelle, in der wir in Zeile A1 einen Namen eintragen in Zeile A2 wird via Doppelklick eine Zeit eingetragen. Nun würde ich gerne wenn in Zeile A2 eine Zeit steht Excel den Namen aus A1 und einen vorgefertigten Text an das Input-Plugin sendet.

Laut des Input-Plugin soll die Nachricht bitte in folgendem Format geliefert werden.

{
  "message": "Fahrzeug 1",
  "type": "A2",
  "sender": "Exel",
  "timestamp": "1424950740000"


}

message soll immer der Wert von A2 bzw. A3, A4 usw.
type soll immer die Zeile versendet werden in die der Wert eingetragen wurde. Also die Zeile wo gerade die Uhrzeit eingetragen wurde.

Hat jemand eine Idee wie ich das umsetzen kann ?

Danke schon mal
Top
#2
Hallöchen,

hast Du denn schon die JSON-Ausgabe programmiert?

Wie soll denn die Nachricht erfolgen? Soll die in ein Textfile gespeichert werden? Wenn Du die JSON-Ausgabe programmiert hast, ist doch
die Ausgabe dieser Zeilen ein Klacks Smile

Oder sind die Zeilen der Anfang der JSON? Dann fehlt eventuell noch etwas genaueres zur Datenstruktur.

Oder willst Du nur die Nachricht ablegen und damit den Transport irgendeines JSON-Files, das nix mit Excel zu tun hat, steuern?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#3
Danke schon mal für deine Antwort.

Leider kann dich deine Fragen jedoch nicht wirklich beantworte, da mir dafür das Wissen fehlt.

Ich kann dir nur sagen, dass ich ein Plugin habe, das die Datei in diesem Format empfangen würde und dann auswerten kann.
Auf der anderen Seite habe ich eine Exel Tabelle und jetzt muss ich eine Verbindung zwischen den 2 herstellen. Zur Info die Tabelle und das Plugin des anderen Programm sind auf zwei verschieden Rechnern aber im gleichen Netzwerk 

So sieht die Tabelle zum Beispiel aus.

[
Bild bitte so als Datei hochladen: Klick mich!
]

wenn ich nun einen doppel klick in B4 mache schreibt er mir die akutelle Uhrzeit.

Nun soll Excel hingehen und irgend wie die Daten an das andere Plugin schicken. Laut Plugin in dem folgenden Format

{
  "message": "B-UC 52",
  "type": "abfahrt",
  "sender": "Exel",
  "timestamp": "1424950740000"


}

Bei Typ soll einfach immer der wert von der Überschrift der Spalte stehen (in dem Fall B1)

jemand eine Idee wie ich dies an die IP 192.168.2.37 Port 5588 senden kann ?


Damit würdet ihr mir extrem helfen
Top
#4
Hallöchen,

anbei mal ein Code zum Erzeugen eines Textfiles mit Deinen Daten. Setze den Cursor dazu in die Datumszelle und starte das Makro. Eventuell kannst Du das per ftp an den anderen PC senden und dort verarbeiten.
Code:
'-----------------------------------------------------------------
Sub MiniJson()
'Variablendeklrationen
'Integer
    Dim iFF%
'Freies Dateihandle ermitteln
    iFF = FreeFile()
'Datei oeffnen, Daten anfuegen --> ggf aendern in ueberschreiben
    Open "I:\Test\sJson.json" For Append Access Write Shared As iFF
'einzelne Daten ausgeben
    Print #iFF, "{"
    Print #iFF, """Message"": """; "" & ActiveCell.Offset(0, -1) & """"
    Print #iFF, """type"": """; "" & Cells(1, 2) & """"
    Print #iFF, """sender"": """; ""; "Exel"; """"
    Print #iFF, """timestamp"": """; "" & DateDiff("s", "1/1/1970", ActiveCell) & """"
    Print #iFF, "}"
'Datei schliessen
    Close iFF
End Sub

Alternativ gibt es hier einen Ansatz zum Senden mit Hilfe von Winsock - hab ich nicht getestet. Kannst Dich da mal einlesen.
http://www.keysight.com/main/editorial.j...1:epsg:sud&id=1000001131:epsg:sud&nid=-11143.0.00&lc=ger&cc=DE
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste