Genial einfach - oder?
| A wie Anton | B wie Berta |
|---|---|
| ... and more lorem ... and more ipsum ... and no dolor... | |
Excel generiert aus den Daten eine json-Datei und lädt diese automatisch via ftp auf den Webspace.
Nebenbei kann auch eine Word-Seriendruck-Datei angesprochen werden, um bspw. die Daten für eine Restaurant-Speisenkarte in Excel zusammenzustellen, in Word die Speisenkarte zu drucken und abschliessend alles VOLL automatisch auf den Webspace zu laden...
| A wie Anton | B wie Berta |
|---|---|
| ... and more lorem ... and more ipsum ... and no dolor... | |
Alle Einstellungen für Dateinamen und ftp-Zugang bitte in Sub Fertig() anpassen...
Mit Excel die Datei test_CMS.xlsm öffnen:
Im Menü ENTWICKLERTOOLS/VisualBasic/ aufrufen
ggf. auf Tabelle1 (test) im "Projekt - VBAProjekt-Bereich" klicken
und bei der Sub Fertig() alle Einstellungen vornehmen. Speichern. Fertig!
…
Public Sub Fertig()
'Dateinamen richtig einstellen
JSONFileName = ActiveWorkbook.Path & "\test_CMS.json"
WORDFileName = ActiveWorkbook.Path & "\test_CMS.docx"
'Excel richtig einstellen
WorkSheetName = "Test" 's.a. Excel-Datei
'FTP richtig einstellen
UserFTP = "user"
PwdFTP = "pwd"
ServerFTP = "ftp.example.com"
FTPDirectory = "test/gaga"
FTPWait = "30" 'Sekunden
'alles ausführen
SaveAsJSON
OpenWord
UploadFTP
'Excel beenden
Me.Save
Application.Quit
End Sub
…
Der gesamte VB-Quelltext ist im Excel-Makro einsehbar!
"Item.A" und
"Item.B" im Javascript sind die
Überschriften aus den Office-Daten! Wenn die Überschriften umbenannt werden,
dann muss der Tabellenkopf <th> oben und das Javascript <script>
unten auch entsprechend angepasst werden!!!
Leere Datensätze werden wegen if ( item.A != '' )
übrigens nicht ausgegeben!
<!DOCTYPE HTML>
<html>
<head>
<title>offlineCMS Calc</title>
<meta charset="utf-8" />
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
</head>
<body>
<table border="1">
<thead>
<tr><th>A</th><th>B</th></tr>
</thead>
<tbody id="table_body">
<!-- two Columns or even more!!! -->
</tbody>
</table>
</body>
<script>
$( document ).ready(function() {
$.getJSON("test_CMS.json", function( data ) {
$.each ( data, function( i, item ) {
if ( item.A != '' ) {
$("#table_body").append("<tr><td>" +
item.A +
"</td><td>" +
item.B +
"</td></tr>");
}
});
});
});
</script>
</html>