Hi Chris,
ich hab keine Ahnung von VBA, allerdings gehe ich davon aus, dass es XML-Parser in VBA gibt.
XML hat vor allem die Vorteile, dass es sowohl von Menschen, als auch von Maschinen gut lesbar ist, dass es komplexere Datenstrukturen abbilden kann, als z.B. eine Datenbank (oder zumindest komplexe Daten einfacher aufnehmen kann, als Datenbanken) und dass es viele Werkzeuge in allen möglichen Sprachen und Im- und Exportfunktionen in allen möglichen Applikationen gibt.
Was du jedoch vorhast ist doch lediglich einigen Variablen Werte zuzuweisen (Bools, Integer, Floats oder Strings). Diese Daten müssen dann von einem Skript, welches die Daten aus einem HTML- (oder Flash-) Formular entgegennimmt in ein VBA-Script wandern. Hier wird der Vorteil und Nutzen von XML aber nicht deutlich, was den Aufwand des Parsens kaum rechtfertigt.
Beispiel:
Das Word-Template sei ein Firmenbriefkopf und die Mitarbeiter sollen in einem HTML-Formular ihren Namen, ihre Durchwahl und ihr Sachbearbeiter-Kürzel eingeben. In XML würde dieser Datensatz dann z.B. so aussehen:
<?xml version="1.0"?>
<name>Klaus Müller</name>
<durchwahl>203</durchwahl>
<kuerzel>mue</kuerzel>
Das gleiche könnte man aber auch z.B. in ein CSV-Format packen:
"name";"durchwahl";"kuerzel"
"Klaus Müller";203;"mue"
...oder ganz frei:
name:Klaus Müller
durchwahl:203
kuerzel:mue
..oder, falls die Reihenfolge der Felder in der Ziel-Applikation bekannt ist:
Wie genau die Lösung deines Problems nun aber aussehen könnte hängt von den Möglichkeiten und Grenzen von VBA ab (wovon ich, wie gesagt keine Ahnung hab), sowie natürlich von deinen konkreten Aufgaben und Möglichkeiten.
Ich kann mir folgendes vorstellen:
Auf jeden Benutzerrechner wird ein VBA-Skript gelegt, welches mit verschiedenen Parametern aufgerufen wird (was ja wohl möglich sein wird). Hier könnte z.B. der erste Parameter die Adresse des zu öffnenden Templates sein und der zweite der String eines serialisierten Arrays, dass eben jeder Template-Variable einen Wert zuweist (dazu ev. noch bestimmte Header-Parameter oder was weiß ich). Das Skript öffnet also MS-Word, läd das gewünschte Template und ersetzt die Template-Variablen durch die übergebenen Werte.
Und auf Serverseite musst du also nur die Eingaben des Benutzers entgegennehmen und dann von dort aus (und das sollte in einem Intranet doch gehen) das besagte Skript mit den entsprechenden Parametern starten.
Liebe Grüße,
Basti