Bookmark.InsertCrossReference Method (Object, WdReferenceKind, Object, Object, Object, Object, Object)

 

Inserts a cross-reference to a heading, bookmark, footnote, or endnote, or to an item for which a caption label is defined (for example, an equation, figure, or table) into a Bookmark control.

Namespace:   Microsoft.Office.Tools.Word
Assembly:  Microsoft.Office.Tools.Word (in Microsoft.Office.Tools.Word.dll)

void InsertCrossReference(
	ref object ReferenceType,
	WdReferenceKind ReferenceKind,
	ref object ReferenceItem,
	ref object InsertAsHyperlink,
	ref object IncludePosition,
	ref object SeparateNumbers,
	ref object SeparatorString
)

Parameters

ReferenceType
Type: System.Object

The type of item for which a cross-reference is to be inserted. Can be any T:Microsoft.Office.Interop.Word.WdReferenceType or T:Microsoft.Office.Interop.Word.WdCaptionLabelID constant or a user defined caption label.

ReferenceKind
Type: Microsoft.Office.Interop.Word.WdReferenceKind

The information to be included in the cross-reference.

ReferenceItem
Type: System.Object

If ReferenceType is F:Microsoft.Office.Interop.Word.WdReferenceType.wdRefTypeBookmark, this argument specifies a bookmark name. For all other ReferenceType values, this argument specifies the item number or name in the Reference type box in the Cross-reference dialog box. Use the M:Microsoft.Office.Interop.Word._Document.GetCrossReferenceItems(System.Object@) method to return a list of item names that can be used with this argument.

InsertAsHyperlink
Type: System.Object

true to insert the cross-reference as a hyperlink to the referenced item; otherwise, false.

IncludePosition
Type: System.Object

true to insert above or below, depending on the location of the reference item in relation to the cross-reference.

SeparateNumbers
Type: System.Object

true to use a separator to separate the numbers from the associated text. (Use only if the ReferenceType parameter is set to F:Microsoft.Office.Interop.Word.WdReferenceType.wdRefTypeNumberedItem and the ReferenceKind parameter is set to wdNumberFullContext.)

SeparatorString
Type: System.Object

Specifies the string to use as a separator if the SeparateNumbers parameter is set to true.

If you specify wdPageNumber for the value of ReferenceKind, you might need to repaginate the document in order to see the correct cross-reference information.

For information on optional parameters, see Optional Parameters in Office Solutions.

The following code example adds a heading and text to the document using Bookmark controls and then inserts a cross-reference to the heading text.

This example is for a document-level customization.

private void BookmarkInsertCrossReference()
{
    this.Paragraphs[1].Range.InsertParagraphBefore();
    this.Paragraphs[1].Range.InsertParagraphBefore();

    Microsoft.Office.Tools.Word.Bookmark bookmark1 =
        this.Controls.AddBookmark(this.Paragraphs[1].Range,
        "bookmark1");
    bookmark1.Text = "Heading of Document";
    bookmark1.Style = "Heading 1";
    bookmark1.Delete();

    Microsoft.Office.Tools.Word.Bookmark bookmark2 =
        this.Controls.AddBookmark(this.Paragraphs[2].Range,
        "bookmark2");
    bookmark2.Text = "This is sample bookmark text: ";

    object ReferenceType = "Heading";
    object ReferenceItem = "1";
    object InsertAsHyperlink = true;
    object IncludePosition = false;
    object SeparateNumbers = false;
    object SeparatorString = " ";

    bookmark2.Words.Last.InsertCrossReference(ref ReferenceType,
        Word.WdReferenceKind.wdContentText, ref ReferenceItem, 
        ref InsertAsHyperlink, ref IncludePosition,
        ref SeparateNumbers, ref SeparatorString);
}
Return to top
Show: