28.03.2019 Aufrufe

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!