Arbeiten mit Literaturverzeichnissen

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. Verwenden Sie diese Objekte und zusätzlichen Eigenschaften und Methoden im Word-Objektmodell, um Den Quelllisten Quellen hinzuzufügen, Quellen in einem Dokument zu zitieren und Quellen zu verwalten. Die Objekte im Word-Objektmodell zum Verwalten von Literaturverzeichnisquellen werden in der nachfolgenden Tabelle dargestellt.

Objekt Beschreibung
Source Eine einzelne Quelle, z. B. ein Buch, ein Zeitungsartikel oder ein Interview.
Sources Eine Auflistung von Source-Objekten.
Bibliography 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 zum 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
  5. Zeigen Sie Informationen an, und fügen Sie sie zusätzlichen Feldern hinzu, indem Sie alle Literaturverzeichnisfelder anzeigen aktivieren.

  6. Klicken Sie auf OK.

  7. Schließen Sie das Dialogfeld Quellen-Manager.

  8. Starten Sie den Visual Basic-Editor (ALT+F11).

  9. Rufen Sie das Direktfenster auf (STRG+G).

  10. Paste and run the following code. 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.

<b:Source xmlns:b="http://schemas.microsoft.com/office/word/2004/10/bibliography"> 
    <b:Tag>And01</b:Tag> 
    <b:SourceType>Book</b:SourceType> 
    <b:Guid>{6D86D06C-9022-4932-8D4C-84C2B0843381}</b:Guid> 
    <b:LCID>0</b:LCID> 
    <b:Author> 
        <b:Author> 
            <b:NameList> 
                <b:Person> 
                    <b:Last>Dixon</b:Last> 
                    <b:First>Andrew</b:First> 
                </b:Person> 
            </b:NameList> 
        </b:Author> 
    </b:Author> 
    <b:Title>Stylish Bibliographies</b:Title> 
    <b:Year>2006</b:Year> 
    <b:City>Chicago</b:City> 
    <b:Publisher>Adventure Works Press</b:Publisher> 
</b:Source>

Die Guid- und LCID-Elemente sind optional, Aber Sie können bei Bedarf Werte dafür angeben. Der Guid-Elementwert sollte eine gültige GUID sein, die Sie außerhalb des Word-Objektmodells programmgesteuert generieren können. (Informationen zum programmgesteuerten Generieren von ID finden Sie in der Visual Studio-Dokumentation oder in der Windows-Dokumentation auf MSDN.) Word generiert GUIDs, wenn Benutzer eine Quelle hinzufügen oder bearbeiten. Wenn Sie dem XML keine GUID hinzufügen und ein Benutzer dann eine Quelle bearbeitet, generiert Word eine GUID. Dadurch kann Word anhand des Werts der GUID ermitteln, welche Quelle aktuell ist, und auf der Grundlage des Werts der GUID ermitteln, ob der Benutzer möchte, dass Word die veraltete Quelle aktualisieren soll, um die Kontinuität zwischen der Masterliste und der aktuellen Liste aufrechtzuerhalten.

Die LCID gibt die Sprache für die Quelle an. (Gültige Sprachidentifikationswerte finden Sie unter MSDN.) Word verwendet die LCID, um zu wissen, wie eine zitierte Quelle im Literaturverzeichnis eines Dokuments angezeigt wird. 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 bestimmen, welche Elemente erforderlich sind, da sie kein entsprechendes bearbeitbares Feld im Dialogfeld Quelle erstellen haben. Wenn Sie mindestens ein erforderliches Element weglassen, wird ein Laufzeitfehler ausgelöst.)

<b:Source xmlns:b="http://schemas.microsoft.com/office/word/2004/10/bibliography"> 
    <b:Tag>And01</b:Tag> 
    <b:SourceType></b:SourceType> 
    <b:Author> 
        <b:Author> 
            <b:NameList> 
                <b:Person> 
                    <b:Last></b:Last> 
                    <b:First></b:First> 
                </b:Person> 
            </b:NameList> 
        </b:Author> 
    </b:Author> 
    <b:Title></b:Title> 
    <b:Year></b:Year> 
    <b:City></b:City> 
    <b:Publisher></b:Publisher> 
</b:Source>

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 den XML-Code aus der Literaturverzeichnisquelldatei namens "sources.xml" abrufen, die sich unter C:\Users\<user>\AppData\Roaming\Microsoft\Bibliographybefindet. In dieser Datei wird die Masterquellliste für einen Benutzer gespeichert.

Hinzufügen von Quellen zur Masterquellenliste und zur aktuellen Quellliste

Das Hinzufügen von Quellen zur Masterquellenliste ähnelt dem Hinzufügen von Quellen zur aktuellen Quellliste, mit der Ausnahme, dass Sie über verschiedene Hauptobjekte auf die Sources-Auflistung zugreifen. Um der Masterquellenliste eine Quelle hinzuzufügen, greifen Sie über die Bibliography-Eigenschaft des Application-Objekts auf die Sources-Auflistung zu. Um der aktuellen Quellliste eine Quelle hinzuzufügen, greifen Sie über die Bibliography-Eigenschaft des Document-Objekts auf die Sources-Auflistung zu.

Im folgenden Beispiel wird die im Vorfeld festgelegte grundlegende Struktur verwendet, um der Masterquellliste eine weitere Buchquelle hinzuzufügen.

Sub AddBibSource() 
 
    Dim strXml As String 
     
    strXml = "<b:Source xmlns:b=""http://schemas.microsoft.com/" & _ 
        "office/word/2004/10/bibliography""><b:Tag>Mor01</b:Tag>" & _ 
        "<b:SourceType>Book</b:SourceType><b:Author><b:Author>" & _ 
        "<b:NameList><b:Person><b:Last>Hezi</b:Last>" & _ 
        "<b:First>Mor</b:First></b:Person></b:NameList></b:Author>" & _ 
        "</b:Author><b:Title>The New Office</b:Title>" & _ 
        "<b:Year>2006</b:Year><b:City>Seattle</b:City>" & _ 
        "<b:Publisher>Adventure Works Press</b:Publisher>" & _ 
        "</b:Source>" 
     
    Application.Bibliography.Sources.Add strXml 
 
End Sub

Sie können die Zeile Application.Bibliography.Sources.Add strXml in ändern. ActiveDocument.Bibliography.Sources.Add strXml

Durch das programmgesteuerte Einfügen einer Quelle in die Masterquellliste wird sie nicht automatisch der aktuellen Quellliste hinzugefügt. Um einem Dokument jedoch ein Zitat hinzuzufügen, muss die Quelle in der aktuellen Quellliste aufgeführt werden. Sie können eine oder mehrere Quellen manuell aus der Masterliste in die aktuelle Liste kopieren, indem Sie das Dialogfeld Quell-Manager verwenden, oder Sie können eine oder mehrere Quellen programmgesteuert aus der Masterliste in die aktuelle Liste kopieren. Im folgenden Beispiel werden alle Quellen in der Masterquelle in die aktuelle Quelle kopiert. Nachdem die Quellen ihrer aktuellen Liste hinzugefügt wurden, können Sie Zitate für diese 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 Ihrer Quellliste

Es kann vorkommen, dass Sie eine Quellliste für andere Personen in einer Organisation freigeben möchten. Wenn Sie der Masterliste Quellen hinzufügen, fügt Word sie einem Dateinamen "sources.xml" hinzu, der sich unter C:\Users\<user>\AppData\Roaming\Microsoft\Bibliography\sources.xmlbefindet. Sie können diese Datei für andere Freigeben, indem Sie ihnen die Datei bereitstellen, die Benutzer dann manuell aus dem Dialogfeld Quell-Manager oder programmgesteuert über Code laden können.

Hinweis

Wenn ein Benutzer eine Quelldatei lädt, ist dies ein einmaliges Vorkommen und ändert weder die vorhandene Masterliste noch die aktuelle Liste. 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 Masterquellenliste

Sie können die Sortierreihenfolge im Dialogfeld Quell-Manager mithilfe der BibliographySort-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

Zitate einfügen

You can insert a bibliography citation by using the Add method for the Fields collection. The following example inserts a citation at the cursor for the source that you added previously. The text for the field equals the tag value, or the value of the Tag element, which in this case is "Mor01". (Siehe XML-Code in der zuvor gezeigten AddBibSource-Unterroutine für die XML-Zeichenfolge "<b:Tag>Mor01</b:Tag>".) Der Wert des Tag-Elements entspricht auch der Tag-Eigenschaft für ein Source-Objekt .

Sub InsertBibCitation() 
    Selection.Fields.Add Selection.Range, _ 
        wdFieldCitation, "Mor01" 
End Sub

Anwenden eines Literaturverzeichnisstils

Wenn Sie in ein Dokument ein Literaturverzeichnis eingefügt haben, können Sie das Literaturverzeichnisformat festlegen. Word formatiert verschiedene Literaturverzeichnisformate. Sie können den Literaturverzeichnisstil mithilfe der BibliographyStyle-Eigenschaft festlegen. 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

  • SISTO2

  • Turabian

Hinweis

Diese Werte sind in Word enthalten, aber neue Werte können jederzeit hinzugefügt werden, wenn neue Literaturverzeichnisformate definiert werden.

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. Das Verzeichnis C:\Program Files\Microsoft Office\Office15\1033\Bibliography\Style enthält eine XSL-Datei für jeden Dokumentationsstil auf Ihrem Computer. Ö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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.