Idea Transcript
Office VBA Reference (/vba/office-vba-reference) > Word VBA (/vba/vba-word)
Arbeiten mit Literaturverzeichnissen Einleitung Das Word-Objektmodell weist etliche Objekte zum Automatisieren der Erstellung von Literaturverzeichnissen auf. In der folgenden Tabelle werden die Hauptobjekte des Features in Word für das Literaturverzeichnis aufgeführt. Mithilfe dieser Objekte und zusätzlicher Eigenschaften und Methoden im Word-Objektmodell können Sie den Quelllisten Quellen hinzufügen, in einem Dokument Quellen zitieren und Quellen verwalten. Die Objekte im Word-Objektmodell zum Verwalten von Literaturverzeichnisquellen werden in der nachfolgenden Tabelle dargestellt. Objekt
Beschreibung
Source (source-object-word)
Eine einzelne Quelle, z. B. ein Buch, ein Zeitungsartikel oder ein Interview.
Sources (sources-object-word)
Eine Auflistung von Source -Objekten.
Bibliography (bibliography-objectword)
Die Liste der Quellen, die im Dokument (aktuelle Liste) zitiert werden, oder die Liste der Quellen, die in der Anwendung (Masterliste) verfügbar sind.
Grundlegendes zu der Quell-XML Mithilfe von XML-Zeichenfolgen werden Quellen den Quelllisten programmgesteuert hinzugefügt. Je nach Typ der Quelle, die Sie hinzufügen möchten, ändert sich die erforderliche XML-Struktur. Um die XML-Struktur für einen Quellentyp zu bestimmen, können Sie denselben Quellentyp manuell hinzufügen und dann die zurückgegebene XML-Struktur anzeigen. In den folgenden Schritten wird dieser Vorgang beschrieben. 1. Klicken Sie im Menüband auf der Registerkarte Verweise auf Quellen verwalten. 2. Klicken Sie im Dialogfeld Quellen-Manager auf Neu. 3. Wählen Sie im Dialogfeld Quelle erstellen den zu erstellenden Quellentyp aus. Wählen Sie für dieses Beispiel Buch aus. 4. Füllen Sie die Literaturverzeichnisfelder entsprechend den Angaben in der folgenden Tabelle aus: Feld
Wert
Autor
Eduard Dell
Titel
Stylish Bibliographies
Jahr
2006
Ort
Chicago
Herausgeber
Adventure Works-Verlag
Tagname
And01
1. Sie können weitere Felder anzeigen und diesen Informationen hinzufügen, indem Sie das Kontrollkästchen Alle Literaturverzeichnisfelder anzeigen aktivieren. 2. Klicken Sie auf OK. 3. Schließen Sie das Dialogfeld Quellen-Manager. 4. Starten Sie den Visual Basic-Editor (ALT+F11). 5. Rufen Sie das Direktfenster auf (STRG+G). 6. Fügen Sie den folgenden Code ein, und führen Sie ihn aus: Sub GetBibliographyXML() Dim strXml As String Dim objSource As Source Set objSource = Application.Bibliography.Sources( _ Application.Bibliography.Sources.Count) Debug.Print objSource.XML End Sub
Wenn Sie die oben stehenden Schritte ausgeführt haben, enthält das Direktfenster den folgenden XML-Code.
And01 Book {6D86D06C-9022-4932-8D4C-84C2B0843381} 0 Dixon Andrew Stylish Bibliographies 2006 Chicago Adventure Works Press
Die Guid- und LCID-Elemente sind optional, Sie können aber entsprechende Werte bereitstellen. Der Wert des Guid-Elements muss eine gültige GUID sein. Diese können Sie programmgesteuert außerhalb des Word-Objektmodells generieren. (Informationen zum programmgesteuerten Generieren von IDs finden Sie in der Dokumentation zu Visual Studio oder der Dokumentation zu Windows auf der MSDN-Website.) Word generiert GUIDs, wenn Benutzer eine Quelle hinzufügen oder bearbeiten. Wenn Sie dem XML-Code keine GUID hinzufügen und der Benutzer dann eine Quelle bearbeitet, generiert Word eine GUID. So kann Word basierend auf dem Wert der GUID bestimmen, welche Quelle die aktuelle ist, und den Benutzer fragen, ob Word die veraltete Quelle aktualisieren soll, um zwischen Masterliste und aktueller Liste die Kontinuität zu bewahren. Die LCID gibt die Sprache für die Quelle an. (Auf der MSDN-Website finden Sie gültige Werte für die Sprachidentifikation.) Die LCID gibt Word vor, wie eine zitierte Quelle im Literaturverzeichnis eines Dokuments angezeigt werden soll. So ist eine Quelle z. B. in Französisch verfasst, eine in Englisch und eine in Japanisch. Ausgehend von der LCID bestimmt Word, wie Namen (z. B. im Format Nachname, Vorname für Englisch) angezeigt werden, welche Interpunktion zu verwenden ist (z. B. die Verwendung eines Kommas in einer Sprache und die Verwendung eines Semikolons in einer anderen Sprache) und welche Zeichenfolgen zu verwenden sind (z. B. ob "et al" oder eine andere lokalisierte Form zu verwenden ist). Nach dem Entfernen optionaler Elemente liegt möglicherweise eine Struktur vor, die der folgenden XML-Struktur ähnelt. (Sie können festlegen, welche Elemente erforderlich sind, da sie kein zugehöriges Feld im Dialogfeld Quelle erstellen aufweisen. Beim Auslassen eines erforderlichen Elements tritt ein Laufzeitfehler auf.)
And01
Mit der grundlegenden Struktur der Quell-XML für ein Buch können Sie der Masterquellliste und der aktuellen Quellliste weitere Buchquellen hinzufügen. Weitere Elemente können Sie festlegen, indem Sie das Kontrollkästchen Alle Literaturverzeichnisfelder anzeigen aktivieren. Hinweis Alternativ können Sie die XML-Struktur aus der Datei für die Literaturverzeichnisquelle namens sources.xml abrufen, die sich im folgenden Verzeichnis befindet: C:\Users\\Apphttp://schemas.microsoft.com/" & _ "office/word/2004/10/bibliography"">Mor01" & _ "Book" & _ "Hezi" & _ "Mor" & _ "The New Office" & _ "2006Seattle" & _ "Adventure Works Press" & _ "" Application.Bibliography.Sources.Add strXml End Sub
Sie können die Zeile Application.Bibliography.Sources.Add strXml in ActiveDocument.Bibliography.Sources.Add strXml ändern. Beim programmgesteuerten Einfügen einer Quelle in die Masterquellliste wird diese nicht automatisch der aktuellen Quellliste hinzugefügt. Um einem Dokument jedoch ein Zitat hinzufügen zu können, muss die Quelle in der aktuellen Quellliste aufgeführt sein. Sie können Quellen von der Masterliste manuell in die aktuelle Liste kopieren. Dazu verwenden Sie das Dialogfeld Quellen-Manager. Alternativ können Sie Quellen auch programmgesteuert von der Masterliste in die aktuelle Liste kopieren. Im folgenden Beispiel werden alle in der Masterquelle enthaltenen Quellen in die aktuelle Quelle kopiert. Nachdem die Quellen der aktuellen Liste hinzugefügt sind, können Sie Zitate aus diesen Quellen in ein Dokument einfügen.
Sub CopyToCurrentList() Dim objSource As Source Dim strXml As String On Error Resume Next For Each objSource In Application.Bibliography.Sources strXml = objSource.XML ActiveDocument.Bibliography.Sources.Add strXml Next End Sub
Hinweis Der Wert der Tag -Eigenschaft muss für die Quellen in der aktuellen Liste eindeutig sein. Daher wird die Zeile On Error Resume Next benötigt, damit der Code die Quellen in der Masterliste überspringen kann, die in der aktuellen Liste Konflikte verursachende Tagwerte aufweisen. Sie können den Code bearbeiten, um die Instanzen zu erfassen, in denen Word eine Quelle aus der Masterliste nicht in die aktuelle Liste kopieren kann.
Freigeben der Quellliste Möglicherweise möchten Sie eine Quellliste mit anderen Personen in der Organisation gemeinsam nutzen. Wenn Sie der Masterliste Quellen hinzufügen, fügt Word diese einer Datei namens sources.xml im Verzeichnis C:\Users\\AppData\Roaming\Microsoft\Bibliography\sources.xml hinzu. Sie können diese Datei mit anderen Benutzern gemeinsam nutzen, indem Sie ihnen die Datei zur Verfügung stellen. Andere Benutzer können die Datei dann manuell im Dialogfeld Quellen-Manager oder programmgesteuert über Code laden. Hinweis Wenn Benutzer eine Quelldatei laden, ist dies ein einmaliges Geschehnis, durch das weder an der Masterliste noch ihrer aktuellen Liste Änderungen vorgenommen werden. Im Dialogfeld Quellen-Manager können sie die Elemente in der freigegebenen Quelldatei manuell der aktuellen Liste hinzufügen.
Eine freigegebene Quelle kann programmgesteuert geladen werden. Im folgenden Beispiel wird das Laden einer freigegebenen Quelldatei verdeutlicht, die sich auf einer Freigabe auf einem lokalen Computer befindet.
Sub LoadSharedSource() Application.LoadMasterList "\\server\public\sources.xml" End Sub
Hinweis Beim Freigeben der Quelldatei source.xml werden nur die Quellen in der Masterquellliste freigegeben. In der aktuellen Liste enthaltene Quellen befinden sich im Datenspeicher eines Dokuments. Um auf diese Datei zugreifen zu können, speichern Sie ein Dokument und öffnen die daraus resultierende DOCX-Datei in einer Anwendung für die Dateikomprimierung, z. B. WinZip. Die Quelldatei befindet sich im Pfad customXml und hat einen Dateinamen wie element1.xml. Wenn Sie die Quellen in einem Dokument mit anderen Benutzern gemeinsam nutzen möchten, können Sie diese Datei auf dieselbe Weise freigeben, in der Sie auch die Quelldatei einer Masterliste freigeben (siehe vorstehende Beschreibung).
Sortieren der Masterquellliste Sie können die Sortierreihenfolge im Dialogfeld Quellen-Manager mithilfe der BibliographySort (options-bibliographysort-property-word) -Eigenschaft festlegen. Die BibliographySort -Eigenschaft kann einen Wert vom Typ String mit "Autor", "Tagname", "Titel" oder "Jahr" aufweisen. Mit diesem Objekt wird nicht die Sortierung von Quellen im Literaturverzeichnis eines Dokuments geändert. Im folgenden Beispiel werden die Quellen nach Titel sortiert.
Sub SortBibliography() Options.BibliographySort = "Title" End Sub
Einfügen von Zitaten Literaturverzeichniszitate können Sie mithilfe der Add -Methode für die Fields -Auflistung einfügen. Im folgenden Beispiel wird aus der vorher hinzugefügten Quelle an der Cursorposition ein Zitat eingefügt. Der Text für das Feld entspricht dem Tagwert oder dem Wert des Tag -Elements, in diesem Fall "Mor01". (Siehe den XML-Code in der Unterroutine AddBibSource, die vorstehend für die XML-Zeichenfolge "Mor01" angezeigt wird.) Der Wert des Tag-Elements entspricht zudem der Tag (sourcetag-property-word)-Eigenschaft für ein Source-Objekt.
Sub InsertBibCitation() Selection.Fields.Add Selection.Range, _ wdFieldCitation, "Mor01" End Sub
Anwenden eines Literaturverzeichnisformats Wenn Sie in ein Dokument ein Literaturverzeichnis eingefügt haben, können Sie das Literaturverzeichnisformat festlegen. Word formatiert verschiedene Literaturverzeichnisformate. Um das Literaturverzeichnisformat festzulegen, verwenden Sie die BibliographyStyle (bibliography-bibliographystyle-property-word) Eigenschaft. Diese Eigenschaft kann einen der folgenden Werte vom Typ String aufweisen: APA Chicago GB7714 GOST - Namenssortierung GOST - Titelsortierung ISO 690 - Erstes Element und Datum ISO 690 - Numerische Referenz MLA SIST O2 Turabian Hinweis Diese Werte sind in Word enthalten. Im Zuge der Definition neuer Literaturverzeichnisformate werden in Zukunft ggf. neue Werte hinzugefügt.
Im folgenden Beispiel wird das standardmäßige Literaturverzeichnisformat auf MLA festgelegt.
Sub SetBibliographyStyle() Options.BibliographyStyle = "MLA" End Sub
Hinweis In XML können Sie auch eigene Literaturverzeichnisformate definieren. Im Verzeichnis C:\Program Files\Microsoft Office\Office15\1033\Bibliography\Style ist eine XSL-Datei für jeden Dokumentationstyp auf Ihrem Computer enthalten. Öffnen Sie eine beliebige Datei, um ein Beispiel für das Erstellen einer eigenen XSLT-Datei anzuzeigen. Alle Benutzer können eine benutzerdefinierte XLS-Datei für das Literaturverzeichnisformat freigeben, indem sie die Datei im oben genannten Ordner auf ihrem Computer ablegen.
Einfügen eines Literaturverzeichnisses Wie Zitate verwenden auch Literaturverzeichnisse Felder. Um ein Literaturverzeichnis einfügen zu können, müssen Sie ein Feld mit einer wdFieldBibliography -Konstanten einfügen, die für den Feldtyp angegeben ist. Im folgenden Code wird in das aktive Dokument an der Cursorposition ein Literaturverzeichnis eingefügt. Es wird vorausgesetzt, dass sich der Cursor am Ende des Dokuments oder auf einer neuen Seite befindet.
Sub InsertBibliography() Selection.Fields.Add Selection.Range, _ wdFieldBibliography End Sub
© 2017 Microsoft