Hallo,
mein werter Chef ist vor längerer Zeit auf die Schnapsidee gekommen, unsere Besprechungsräume mit Lancom ePaper-Displays als Raumbeschilderung zu versehen und dann optimalerweise per Outlook-Kalender zu füttern. Nun, wer Lancom kennt, weiß sicher, dass Lancom scheinbar prinzipiell immer die ungünstigste Variante nimmt,wie etwas umzusetzen ist. Sprich: die Displays haben eine eigene Serversoftware, werden selbst aber über dutzende Variablen angesteuert. Und natürlich gibts dafür von Lancom keine wirklich einsetzbare "Fertiglösung",sondern man sich selbst noch damit rumschlagen. In der Lancom-Knowledgebase habe ich zumindest eine xlsm-Datei (also eine Exceldatei mit einem Makro drin gefunden. Dummerweise zeigt das Ding jedesmal nach dem Start gleich eine VBA-Fehlermeldung "Zu wenig Speicher" an, ist also nicht wirklich zu gebrauchen. Da ich selbst von VBA ungefähr soviel Ahnung habe wie eine Kuh vom Stricken, frag ich einfach mal hier, was ich da machen kann,um das Script zu laufen zu bekommen. Natürlich habe ich gegoogelt, aber mangels VBA-Kenntnissen kann ich mit Tips ala "Speck das Script ab!" natürlich nichts anfangen. Daher meine Hoffnung,dass mir hier jemand helfen kann.
Was macht das Script ? Nun, es fragt in einer Tabelle einer Exceldatei die IP des Servers ab, welches Template verwendet werden soll (die Displays gibts in verschiedener Größe) und will die ID des Displays wissen). Zudem natürlich die nächsten 2 Termine, die angezeigt werden sollen.
Hier das Script:
Sub ePaper_Meeting()
Dim URL As String
URL = "http://" & Tabelle1.Range("B3").Value & ":" & Tabelle1.Range("B4").Value & "/service/task"
Dim postData As String
postData = "<TaskOrder title=""Perform some example tasks""><TemplateTask page=""0"" preload=""false"" labelId=""" & Tabelle1.Range("B6").Value & """ template=""" & Tabelle1.Range("B5").Value & """ taskPriority=""NORMAL"" externalId=""1""><fields fieldRoom=""" & Tabelle1.Range("B9").Value & """ fieldDate=""" & Tabelle1.Range("B10").Value & """ fieldTime1=""" & Tabelle1.Range("B13").Value & """ fieldPurpose1=""" & Tabelle1.Range("B14").Value & """ fieldChair1=""" & Tabelle1.Range("B15").Value & """ fieldTime2=""" & Tabelle1.Range("B18").Value & """ fieldPurpose2=""" & Tabelle1.Range("B19").Value & """ fieldChair2=""" & Tabelle1.Range("B20").Value & """/></TemplateTask></TaskOrder>"
Dim sHTML As String
Set oHttp = CreateObject("MSXML2.XMLHTTP")
oHttp.Open "POST", URL, False
oHttp.setRequestHeader "Content-Type", "application/xml"
oHttp.Send (postData)
sHTML = oHttp.responseText
Tabelle1.Range("A27").Value = sHTML
End Sub
|