共用方式為


使用書目

Word 物件模型包含數個專為自動建立書目而設計的物件。 下表列出 Word 書目功能的主要物件。 使用這些物件,以及 Word 物件模型中的其他屬性和方法,將來源新增至來源清單、在檔中引用來源,以及管理來源。 下表顯示您用於管理書目來源之 Word 模型中的物件。

Object 描述
個別的來源,如書籍、雜誌文章或採訪。
Sources Source 物件的集合。
Bibliography 文件中所引用的來源清單 (目前的清單) 或是應用程式中所提供的來源清單 (在主清單內)。

瞭解來源 XML

來源會以程式設計方式透過 XML 字串加入到來源清單。 根據您想要加入的來源類型而定,所需的 XML 結構會有所變更。 若要判斷來源類型的 XML 結構,您可以手動加入相同的來源類型,然後檢視所傳回的 XML。 以下步驟會描述如何進行這項處理。

  1. 按一下 [參照] 功能區上的 [管理來源]

  2. [來源管理員] 對話方塊中,按一下 [新增]

  3. [建立來源] 對話方塊中,選取要建立的來源類型。 在這個範例中,就是選取 [圖書]

  4. 填寫來源欄位,如下表所示:

    Field
    作者 Andrew Dixon
    標題 Stylish Bibliographies
    2006
    城市 Chicago
    發行者 Adventure Works Press
    標籤名稱 And01
  5. 檢查 [ 顯示所有書目欄位],以檢視資訊並將其新增至其他欄位。

  6. 按一下 [確定]

  7. 關閉 [來源管理員] 對話方塊。

  8. 啟動 Visual Basic 編輯器 (Alt+F11) 。

  9. 顯示 [立即視窗] (按 Ctrl+G)。

  10. 貼上並執行下列程式碼。 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

在遵循上述步驟進行之後,[立即視窗] 會包含以下 XML 程式碼。

<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>

Guid 和 LCID 是選用的元素,但是如果您想要的話,也可以為這些元素提供值。 Guid 元素值應該是有效的 GUID,您可以透過程式設計方式在 Word 物件模型外面產生該值 (如需以程式設計方式產生識別碼的詳細資訊,請參閱 MSDN 上的 Microsoft Visual Studio 文件或 Microsoft Windows 文件)。 (如需以程式設計方式產生 ID 的資訊,請參閱 Visual Studio 檔或 MSDN 上的 Windows 檔。) Word 會在使用者新增或編輯來源時產生 GUID。 如果您未將 GUID 新增至 XML,且使用者接著編輯來源,Word 會產生 GUID。 如此可讓 Word 根據 GUID 的值來判斷最新的來源,以及提示使用者是否希望 Word 更新過期的來源,以維護主清單和目前的清單之間的連續性。

LCID 會指定來源的語言 (如需有效的語言識別值,請參閱 MSDN)。 Word 使用此 LCID 來得知如何在文件的書目中顯示引用的來源。 例如,某個來源可以是以法文所編寫,另一個來源是以英文編寫,還有一個來源是以日文編寫。 從 LCID 中,Word 會判斷如何顯示名稱 (例如,英文的姓氏, 名字)、所要使用的標點符號 (例如,在某一個語言中使用逗號,而在另一個語言中使用分號),以及所要使用的字串 (例如,是要使用 "et al" 還是另一個當地語系化的形式)。

移除選擇性元素之後,您可能會有類似下列 XML 結構的結構。 (您可以判斷哪些元素是必要的,因為它們在 [ 建立來源 ] 對話方塊中沒有對應的可編輯欄位。省略一或多個必要專案會引發執行階段錯誤。)

<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>

現在,您已經具備了書籍之來源 XML 的基本結構,所以可以將其他書籍來源加入到主要來源清單及目前的來源清單中。 您可以核取 [顯示所有書目欄位] 核取方塊來找出其他的元素。

注意事項

或者,您可以從位於 C:\Users\<user>\AppData\Roaming\Microsoft\Bibliography 的 「sources.xml」 書目來源檔案取得 XML。 此檔案會儲存使用者的主要來源清單。

將來源新增至主要來源清單和目前的來源清單

將來源加入到主要來源清單類似於將來源加入到目前的來源清單中,不同的一點是您會從不同的主要物件存取 Sources 集合。 若要將來源新增至主要來源清單,您可以從Application 物件的Bibliography屬性存取Sources集合。 若要將來源新增至目前的來源清單,請從Document物件的Bibliography屬性存取Sources集合。

下列範例會使用之前所決定的基本結構,將另一個書籍來源加入到主要來源清單中。

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

您可以將行 Application.Bibliography.Sources.Add strXml 變更為 ActiveDocument.Bibliography.Sources.Add strXml

以程式設計方式將來源插入到主要來源清單時,並不會自動將它加入到目前的來源清單中。 但是,若要將引文加入到文件中,此來源必須列在目前的來源清單中。 您可以使用 [來源管理員] 對話方塊,手動將一個或多個來源從主清單複製到目前的清單中;或者,您也可以透過程式設計方式將一個或多個來源從主清單複製到目前的清單。 下列範例會將主要來源中的所有來源複製到目前的來源。 當來源加入到目前的清單之後,您可以將這些來源的引文插入到文件中。

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

注意事項

Tag屬性的值在目前清單中的來源之間必須是唯一的。 因此,需要這 On Error Resume Next 一行,才能讓程式碼略過主清單中在目前清單中具有衝突標籤值的任何來源。 當 Word 無法將來源從主要清單複製到目前清單時,您可以修改此程式碼來擷取實例。

共用您的來源清單

您有時可能會想要將來源清單與組織中的其他人共用。 當您將來源新增至主要清單時,Word 會將它們新增至位於 C:\Users\<user>\AppData\Roaming\Microsoft\Bibliography\sources.xml 的檔案名 「sources.xml」。 您可以將這個檔案提供給其他人來進行共用,然後使用者可以手動從 [來源管理員] 對話方塊載入,或是以程式設計方式透過程式碼載入。

注意事項

當使用者載入原始程式檔時,這是一次性的,而且不會變更現有的主要清單或其目前的清單。 他們可以使用 [來源管理員] 對話方塊,將共用來源檔案中的項目手動加入到目前的清單。

您可以透過程式設計方式載入共用來源。 下列範例會示範如何載入位於本機電腦上共用位置的共用來源檔案。

Sub LoadSharedSource() 
    Application.LoadMasterList "\\server\public\sources.xml" 
End Sub

注意事項

共用source.xml來源檔案只會共用主要來源清單中的來源。 位於目前來源的來源位於檔的資料存放區中。 您可以儲存檔,並在 WinZip 等檔案壓縮應用程式中開啟產生的 DOCX 檔案,以存取此檔案。 您可以在路徑 「customXml」 中找到檔案名為 (或類似) 「item1.xml」 的來源檔案。 如果您需要與其他使用者共用檔中的來源,您可以如先前所述,以與共享主要清單來源檔案相同的方式共用此檔案。

排序主要來源清單

您可以使用 BibliographySort 屬性,於 [來源管理員] 對話方塊中設定排序順序。 BibliographySort 屬性可以是 "Author"、"Tag"、"Title" 或 "Year" 的 「字串」 值。 這個物件不會更改文件書目中的來源排序。 下列範例將會根據 Title 來排序來源。

Sub SortBibliography() 
    Options.BibliographySort = "Title" 
End Sub

插入引文

您可以使用 Fields 集合的 Add 方法來插入書目引文。 下列範例會在您先前新增之來源的資料指標上插入引文。 欄位的文字等於標記值,或 Tag 元素的值,在此案例中為 「Mor01」。 (請參閱先前針對 XML 字串 「b:Tag > Mor01 < /b:Tag > 」 < .) AddBibSource 副程式中顯示的 XML 程式碼:Tag 元素的值也會對應至Source物件的Tag屬性。

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

套用書目樣式

將書目插入檔之後,您可以設定書目樣式。 Word 會格式化數種不同的書目樣式。 您可以使用 BibliographyStyle 屬性來設定書目樣式。 此屬性可以是下列其中一個 String 值:

  • APA

  • Chicago

  • GB7714

  • GOST - Name Sort

  • GOST - Title Sort

  • ISO 690 - First Element Date

  • ISO 690 - 數值參考

  • MLA

  • SISTO2

  • Turabian

注意事項

這些值會包含在 Word 中,但未來任何時候都可能會隨著新書目樣式的定義而加入新的值。

下列範例會將預設的書目樣式設為 MLA 樣式。

Sub SetBibliographyStyle() 
    Options.BibliographyStyle = "MLA" 
End Sub

注意事項

您也可以在 XML 中定義自己的檔樣式。 目錄 C:\Program Files\Microsoft Office\Office15\1033\Bibliography\Style 包含電腦上每個檔樣式的一個 XSL 檔案。 開啟任何檔案,以取得如何建立您自己的 XSLT 的範例。 任何使用者都可以將自訂書目樣式 XSL 檔案放在其電腦上的上述資料夾中,以共用該檔案。

插入書目

如同引文,書目會使用欄位。 若要插入書目,您必須插入具有為欄位類型指定 之 wdFieldBibliography 常數的欄位。 下列程式碼會將書目插入使用中檔的資料指標。 本範例假設游標位於檔結尾或新頁面上。

Sub InsertBibliography() 
    Selection.Fields.Add Selection.Range, _ 
        wdFieldBibliography 
End Sub

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應