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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!