WP NEW BOOKMARK
WP NEW BOOKMARK ( targetObj ; bkName )
Parameter | Type | Description | |
---|---|---|---|
targetObj | Object | → | Range or element |
bkName | String | → | Name of bookmark to create |
Description
The WP NEW BOOKMARK command creates a new bookmark named bkName based upon the 4D Write Pro targetObj in the parent document.
Bookmarks are named references to ranges or elements, which allow you to access and reuse specific parts of the document, for example for templating purposes. For more information, please refer to the Bookmark commands section.
In targetObj, you can pass:
- a range, or
- an element (body / table / row / inline picture / paragraph)
Note: If you passed an element in targetObj, the bookmark will contain only the specified element.
In bkName, pass the name for the new bookmark. A bookmark name must be compliant with HTML/CSS names, i.e. it must only contain alphanumeric characters (invalid characters, such as space characters, are automatically removed). Bookmark names must be unique within the document. If a bookmark with the same name already exists in the document, it is overwritten.
You can create as many bookmarks as you want within the same document. Multiple bookmarks can be created using the exact same range. Once created, a bookmark is automatically stored in the parent document and is saved with the document itself.
Example 1
You want to create a new bookmark referencing the currently selected text in the document. You can write:
var $range : Object
$range:=WP Selection range(*;"WPDocument")
WP NEW BOOKMARK($range;"my_bookmark")
Example 2
You want to rename an existing bookmark. To do this, you need to create a new bookmark with the same range, and then delete the old one:
var $bookmarkOldName : Text
var $bookmarkNewName : Text
var $p : Integer
var $wpRange : Object
$bookmarkOldName:="MyBookmark"
$bookmarkNewName:="MyNewBookmark"
ARRAY TEXT($_bookmarks;0)
WP GET BOOKMARKS(WParea;$_bookmarks)
$p:=Find in array($_bookmarks;$bookmarkOldName)
If($p>0)
$wpRange:=WP Get bookmark range(WParea;$bookmarkOldName)
WP DELETE BOOKMARK(WParea;$bookmarkOldName)
WP NEW BOOKMARK($wpRange;$bookmarkNewName)
End if