Hahner_Microsoft-Word-2010---Das-Ideenbuch_ISBN_9783866457980
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kapitel 6<br />
Endlich verstehen sich <strong>Word</strong> und Excel: Fragebogen erfassen und auswerten<br />
End If<br />
docDocument.Close<br />
Set nxmlXMLNode = Nothing<br />
Set cxmlCustomXML = Nothing<br />
Set docDocument = Nothing<br />
Wurden alle gewählten Dateien in der Schleife abgearbeitet, ist zum Schluss noch<br />
etwas Aufräumen angesagt: Die anfangs erzeugte <strong>Word</strong>-Instanz muss zusammen mit<br />
anderen Objekten wieder freigegeben werden:<br />
wrd<strong>Word</strong>Application.Quit<br />
Set wrd<strong>Word</strong>Application = Nothing<br />
Set ofdDateiDialog = Nothing<br />
End Sub<br />
Daten aus den XML-Knoten auslesen<br />
Zum Auslesen, Auswerten und Übergeben der Daten in Excel benötigen Sie fünf<br />
weitere, kurze Routinen. Die erste Routine sorgt für das Auslesen der Daten aus der<br />
gefundenen XML-Datenquelle. Hier werden Schritt für Schritt die Daten aus allen<br />
XML-Knoten ermittelt und in der im Deklarationsteil definierten Struktur zwischengespeichert.<br />
Der Zugriff auf den XML-Knoten ist sehr einfach, da auf die Methode Select<br />
SingleNode des übergebenen XML-Objekts cxmlvCustomXML zugegriffen wird. Der Methode<br />
muss als Parameter der Pfad zum gewünschten Knoten mitgegeben werden, im Beispiel<br />
ist dies cXMLRootKnoten (= root) sowie der Name des jeweiligen Knotens. Da Sie den<br />
Inhalt des Knotens auslesen möchten, greifen Sie auf die Eigenschaft .Text zu.<br />
Sub pDatenAusDenXMLKnotenAuslesen(ByVal cxmlvCustomXML As Office.CustomXMLPart)<br />
On Error Resume Next<br />
gFormularDaten.strNachname =<br />
cxmlvCustomXML.SelectSingleNode(cXMLRootKnoten & "/Nachname").Text<br />
...<br />
On Error GoTo 0<br />
End Sub<br />
Besonders wichtig beim Auslesen der Daten ist das Ausschalten der VBA-Fehlerbehandlung.<br />
Ist ein Knoten leer, erzeugt die Abfrage einen Fehler. Da String-Variablen<br />
aber standardmäßig leer und Boolean-Variablen auf »Falsch« gesetzt sind, enthalten<br />
die Variablen somit auch im Fehlerfall – wenn sie nicht gesetzt werden – die richtigen<br />
Werte.<br />
Datumskonvertierung bei Datum/Uhrzeit-Feldern<br />
Während Zeichenketten aus den XML-Knoten direkt in den String-Variablen abgelegt<br />
werden, muss beispielsweise bei Datumsangaben eine Konvertierung stattfinden.<br />
Datums- und Uhrzeitangaben sind in den XML-Knoten immer im Format YYYY-MM-<br />
DDThh:mm:ss gespeichert. Datum und Uhrzeit werden durch ein großes »T« getrennt.<br />
190