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.
Excel-Tabelle: Daten aus den Fragebogen auslesen<br />
Dann wird das Objekt für das Datei öffnen-Dialogfeld angelegt und schließlich mit<br />
der With-Anweisung sowie dem Setzen des Dateityps (.Filters) und dem Dialogfeldtitel<br />
(.Title) konfiguriert. Mit .Show wird das Dialogfeld schließlich angezeigt.<br />
Jetzt lassen sich in dem Dialogfeld eine oder mehrere <strong>Word</strong>-Dateien auswählen, die<br />
anschließend am Stück verarbeitet werden. War die Anzahl der gewählten Dateien<br />
größer null, beginnt in einer Schleife das eigentliche Verarbeiten der Dateien:<br />
Set ofdDateiDialog = Application.FileDialog(msoFileDialogFilePicker)<br />
With ofdDateiDialog<br />
.Filters.Add "<strong>Microsoft</strong> <strong>Word</strong>-Dokument", "*.docx"<br />
.Title = "Bitte wählen Sie die <strong>Word</strong>-Fragebogen aus:"<br />
.Show<br />
If .SelectedItems.Count > 0 Then<br />
For intDateiZähler = 1 To .SelectedItems.Count<br />
...<br />
Next intDateiZähler<br />
End If<br />
End With<br />
Innerhalb der Schleife wird zuerst das jeweilige <strong>Word</strong>-Dokument geöffnet:<br />
Set docDocument = wrd<strong>Word</strong>Application.Documents.Open(.SelectedItems(intDateiZähler))<br />
Anschließend prüft die Routine alle benutzerdefinierten XML-Datenquellen. Wird<br />
eine passende Datenquelle gefunden, merkt sich die For-Each-Schleife die gefundene<br />
Datenquelle in der Variablen nxmlXMLNode und beendet die Schleife.<br />
For Each cxmlCustomXML In docDocument.CustomXMLParts<br />
If cxmlCustomXML.BuiltIn = False Then<br />
Set nxmlXMLNode = cxmlCustomXML.SelectSingleNode(cXMLRootKnoten)<br />
If Not nxmlXMLNode Is Nothing Then<br />
Exit For<br />
End If<br />
End If<br />
Next cxmlCustomXML<br />
Die folgenden Kommandos werden nur durchlaufen, wenn eine passende Datenquelle<br />
in der <strong>Word</strong>-Datei gefunden wurde. Dieser Mechanismus stellt sicher, dass auch nur<br />
<strong>Word</strong>-Dokumente »verarbeitet« werden, die die gewünschten Formulardaten enthalten.<br />
Zum Auslesen der Daten aus der <strong>Word</strong>-Datei dient die Routine pDatenAusDenXMLKnotenAuslesen,<br />
der als Parameter ein Verweis auf die XML-Datenquelle übergeben wird. Die<br />
Routine pNotenAuswerten wertet anschließend die Kontrollkästchen bei den Notenabfragen<br />
aus und die Routine pAusgeleseneDatenInExcelEinfügen fügt zu guter Letzt die Daten auf<br />
dem Excel-Arbeitsblatt an der richtigen Stelle ein:<br />
If Not cxmlCustomXML Is Nothing Then<br />
pDatenAusDenXMLKnotenAuslesen cxmlvCustomXML:=cxmlCustomXML<br />
pNotenAuswerten<br />
pAusgeleseneDatenInExcelEinfügen<br />
189