Adobe, the Adobe logo, Adobe AIR, AIR, FlashHelp, FrameMaker, and RoboHelp are either registered trademarks or trademarks of Adobe Systems
Incorporated in the United States and/or other countries. Windows is either a registered trademark or trademark of Microsoft Corporation in the United States
and/or other countries. All other trademarks are the property of their respective owners.
This work is licensed under the Creative Commons Attribution Non-Commercial 3.0 License. To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc/3.0/us/
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA.
Index ................................................................................................................ 93
Chapter 1: Scripting basics
A script is a series of commands that instructs Adobe® RoboHelp® to perform a set of specified actions, such as
counting the images used in a RoboHelp project or selecting multiple master pages and importing them. Scripts
automate repetitive tasks and are often used as a creative tool to streamline tasks that are time-consuming.
Before you begin scripting, take a few moments to read an overview of the scripting support in RoboHelp and find out
how to create and run scripts.
If you are familiar with scripting or programming languages, you can skip this chapter and refer to “Classes” on page 4
and “Constants” on page 83 for information about RoboHelp scripting classes and constants.
If you are new to scripting, you can acquaint yourself with the basic scripting concepts provided in the Introduction
to Scripting manual.
Scripting support in RoboHelp
RoboHelp supports ExtendScript, which is an extended version of JavaScript. As a beginner, the difference between
these two languages does not affect you. However, name JavaScript scripts with a .jsx extension, instead of the usual .js
extension. ExtendScript files are distinguished by the .jsx extension.
1
Creating scripts
Adobe provides ExtendScript Toolkit (ESTK) with its applications as a scripting utility. The ESTK has many features
that make it easier to use than a text editor, including a built-in syntax checker that identifies where the problems are
in your script and tries to explain how to fix them, and the ability to run your scripts right from the ESTK without
saving the file. This second feature can save you a lot of time, especially in the beginning when you may have to test
and edit a script several times to get it to work.
Debug scripts
❖ Select the Adobe RoboHelp 8 option as the target application from the drop-down list in the ESTK.
Edit scripts
❖ Double-click a script file in Script Explorer or Windows Explorer to edit it using the ESTK.
Managing scripts from within RoboHelp
The Script Explorer pod enables you to manage scripts and do any of the following:
Create a script folder Create a folder for storing specific scripts. For example, you can store scripts that record data in
one folder and scripts that display output in another folder.
Reorganize folders You can reorganize folders through simple drag-and-drop operations.
Import and export You can export and import script files and folders in different projects and locations. To import or
export a folder, it must contain at least one script file.
ROBOHELP 8 SCRIPTING GUIDE
Scripting basics
Running scripts
• From the command line, enter the following command:
Robohtml.exe -x [scriptfilenames]
You can specify multiple script filenames, separated by a space, to run one script after another. If the filename path
contains a space, enclose the filename path in single or double quotation marks.
• In RoboHelp, choose Tools > Scripts to run sample scripts or create new scripts and run them.
• In Windows Explorer, double-click a script to open it in ExtendScript Toolkit and run it.
• In ExtendScript Toolkit, select Adobe RoboHelp 8 from the ExtendScrip Toolkit pop-up menu and click the Click
To Connect To Target Application
to run RoboHelp.
RoboHelp sample scripts
RoboHelp provides a set of sample scripts that you can use or customize. You can use these sample scripts to do the
following:
EclipseHelp Use this script to convert WebHelp output to EclipseHelp output. See the script for more details.
Link Converter Use this script to convert an anchor link href target across all the files in a RoboHelp project. For
example, define a link to convert www.adobe.com to www.adobe.com/support/ across all the Help files in a project.
See the script file for more information.
2
MultiMasterPageImport Use this script to select multiple master pages and import them.
SaveAsProjectTemplate Use this script to save a RoboHelp project as a template for creating similar RoboHelp
projects.
UDV Converter with UI Use this script to convert a keyword into a user-defined variable and change its value across all
files in a project. Enter a keyword, a user-defined variable name, and its value.
UDV Converter Use this script to convert a keyword into a user-defined variable and change its value across all the files
in a project. See the script for more details.
Word Count Use this script to get a word count for an open RoboHelp project. It provides a word count by topic and
by project. To run the Word Count script, right-click the script and select Run. The word count summary appears in
the Output View pod.
RoboHelp object model
The RoboHelp object model is based on the principles of a document object model (DOM). A DOM is an application
programming interface (API) that allows you to programmatically access various components of a document (as
defined for that application) through a scripting language. The principle behind a DOM is the containment hierarchy.
In other words, top-level objects in a DOM contain next-level objects, which contain the subsequent level of objects,
and so on.
Each node in the Robohelp containment hierarchy is a class. The RoboHelp class sits at the top of the hierarchy and is
a collection of classes and constants. To accomplish a task through scripting, you need to reference these objects
following the parent-child relationship defined in the containment hierarchy.
For example, if you want to specify Adobe® AIR® Help as the single-source layout for a RoboHelp application, the
object reference in your script needs to be:
ROBOHELP 8 SCRIPTING GUIDE
RoboHelp.SSLLayoutType.AIRHELP
SSLLayout is a child class of the RoboHelp class, and AIRHELP is a property of the SSLLayout class.
RoboHelp
3
Scripting basics
TokenManager
Token
RoboHelp containment hierarchy
Project
TopicManager
Topic
MasterPageManager
MasterPage
SnippetManager
Snippet
UDVManager
UDV
FileManager
File
TOCManager
TOC
IndexManager
Index
GlossaryManager
Glossary
SkinManager
Skin
CBTManager
CBT
SSLManager
SSL
FMFileManager
FMFile
WordFileManager
WordFile
ServerManager
Server
HTMLHelpWindowManager
HTMLHelpWindow
ReportManager
MapIDManager
SSLLayoutType
Language
ReportType
DeleteOption
Status
SkinType
FrameFileFormat
TokenType
TagType
FileStatus
SynchStatus
ServerType
WordFileFormat
HTMLHelpWindowAlign
HTMLHelpWindowDefaultTab
HTMLHelpWindowButtons
HTMLHelpWindowProperties
For more information on classes, see “Classes” on page 4.
For more information on constants, see “Constants” on page 83.
Chapter 2: Classes
RoboHelp
Main class for interacting with a RoboHelp application.
RoboHelp properties
Property nameData typeDescription
versionStringRead-only
RoboHelp product version
nameStringRead-only
Product name
pathStringRead-only
Full path to the RoboHelp application
executable
4
languageInteger constantRead-only
RoboHelp language settings
projectProjectProject object
SSLLayoutTypeSSLLayoutTypeRead-only
SSLLayoutType constant
LanguageLanguageRead-only
Language constant
ReportTypeReportTypeRead-only
ReportType constant
DeleteOptionDeleteOptionRead-only
DeleteOption constant
StatusStatusRead-only
Status constant
SkinTypeSkinTypeRead-only
SkinType constant
FrameFileFormatFrameFileFormatRead-only
FrameFileFormat constant
TokenTypeTokenTypeRead-only
TokenType constant
TagTypeTagTypeRead-only
TagType constant
Property nameData typeDescription
FileStatusFileStatusRead-only
FileStatus constant
SyncStatusSyncStatusRead-only
SyncStatus constant
ServerTypeServerTypeRead-only
ServerType constant
WordFileFormatWordFileFormatRead-only
WordFileFormat constant
RoboHelp methods
openProject
Description
Opens .mpj and .xpj projects in a RoboHelp application.
ROBOHELP 8 SCRIPTING GUIDE
Classes
5
Syntax
openProject (projectPath, upgradeIfRequired)
Parameters
Parameter nameData typeOptionalDescription
projectPathStringNoFull path to the project file that you want to
upgradeIfRequiredBooleanYesUpgrade the project if created in an older
open
version of RoboHelp.
The default value is false.
If the project does not require an upgrade, this
parameter is ignored.
getTokenManager
Description
Returns Token Manager for the specified file.
Returns
TokenManager
Syntax
getTokenManager (fullFilePath)
ROBOHELP 8 SCRIPTING GUIDE
Parameters
Parameter nameData typeOptionalDescription
fullFilePathStringNoFull path to the file that you want to open
filePathStringNoAbsolute path of the FrameMaker document
folderNameStringNoRelative path of the folder the in the current
frameMakerTOCFilePathStringNoAbsolute path of the FrameMaker TOC file for
TOCNameStringNoName of the existing or new TOC for the
addIndexToTopicBooleanNoWhether the index from the FrameMaker
indexNameStringNoIf addIndexToTopic is false, this is the name
glossaryNameStringNoName of the existing or new glossary for the
to import
project in which the FrameMaker document is
to be imported
the FrameMaker document to import
imported FrameMaker document
document is added to the imported topics or
not
of the existing or new index for the imported
FrameMaker document.
imported FrameMaker document
TokenManager
Handles tokens for a specific file.
TokenManager properties
Property nameData typeDescription
parentRoboHelpRead-only
RoboHelp application object
typenameStringRead-only
Class name of the reference object
countIntegerRead-only
Number of tokens in the file
validBooleanRead-only
Checks if the token file is valid or not
TokenManager methods
item
Description
Returns the token specified by the index.
ROBOHELP 8 SCRIPTING GUIDE
Returns
Token
Syntax
item (index)
Parameters
Parameter nameData typeOptionalDescription
indexIntegerNoIndex for the token
save
Description
Saves the specified token file.
Returns
Boolean
16
Classes
Syntax
save ()
Token
Handles a specific token.
Token properties
Property nameData typeDescription
parentTokenManagerRead-only
Parent TokenManager object
nameStringRead-only
Text from the token object
typenameStringRead-only
Class name of the reference object
previousTokenRead-only
Returns the previous token object
Property nameData typeDescription
nextTokenRead-only
Returns the next object
tokenTypeInteger constantRead-only
Type of token
tagTypeInteger constantRead-only
Returns the type of tag if tokenType is
TOKENTAG
Token methods
update
Description
Updates the text of the token if tokenType is TOKENTEXT.
Returns
Boolean
ROBOHELP 8 SCRIPTING GUIDE
Classes
17
Syntax
update (newText)
Parameters
Parameter nameData typeOptionalDescription
newTextStringNoNew text string to update for the token
getAttribute
Description
Returns the specific attribute value.
Returns
String
Syntax
getAttribute (attributeName)
Parameters
Parameter nameData typeOptionalDescription
attributeNameStringNoName of the attribute
ROBOHELP 8 SCRIPTING GUIDE
setAttribute
Description
Sets the specific attribute value.
Returns
Boolean
Syntax
setAttribute (attributeName, attributeValue)
Parameters
Parameter nameData typeOptionalDescription
attributeNameStringNoName of the attribute
attributeValueStringNoValue of the attribute
removeAttribute
18
Classes
Description
Removes the specific attribute value.
Returns
Boolean
Syntax
removeAttribute (attributeName)
Parameters
Parameter nameData typeOptionalDescription
attributeNameStringNoName of the attribute
insertText
Description
Inserts a new text token before or after the specified token.
Returns
Boolean
Syntax
insertText (newText, afterCurrentTag)
Parameters
Parameter nameData typeOptionalDescription
newTextStringNoNew text to insert
ROBOHELP 8 SCRIPTING GUIDE
Classes
19
afterCurrentTagBooleanYesInserts a new text token before a specified
token
By default, the new token is inserted after the
current tag.
delete
Description
Removes the token.
Returns
Boolean
Syntax
delete ()
TopicManager
Handles all topics in the current project.
TopicManager properties
Property nameData typeDescription
parentProjectRead-only
Project object
typenameStringRead-only
Class name of the reference object
countIntegerRead-only
Number of topics present in the project
TopicManager methods
item
Description
Returns the topic specified by the index.
Returns
Topic
ROBOHELP 8 SCRIPTING GUIDE
Syntax
item (index)
Parameters
Parameter nameData typeOptionalDescription
indexIntegerNoIndex for the topic
newItem
Description
Creates a topic in the current project.
Returns
Topic
Syntax
newItem (topicTitle, fileName, language)
20
Classes
Parameters
Parameter nameData typeOptionalDescription
topicTitleStringNoTitle of the topic
fileNameStringNoFilename of the topic
languageInteger constantNoLanguage of topic
importItem
Description
Imports an HTML file into the current project.
Returns
Topic
Syntax
importItem (filePath, folderName)
Parameters
Parameter nameData typeOptionalDescription
filePathStringNoAbsolute path of the HTML file to import
folderNameStringNoRelative path of the folder in the current
project in which the HTML file is to be
imported
MasterPageManager
Handles all master pages in the current project.
MasterPageManager properties
Property nameData typeDescription
parentProjectRead-only
Project object
typenameStringRead-only
Class name of the reference object
countIntegerRead-only
Number of master pages present in the
project
MasterPageManager methods
ROBOHELP 8 SCRIPTING GUIDE
Classes
21
item
Description
Returns the master page specified by the index.
Returns
MasterPage
Syntax
item (index)
Parameters
Parameter nameData typeOptionalDescription
indexIntegerNoIndex for the master page
newItem
Description
Creates a master page in the current project.
Returns
MasterPage
Syntax
newItem (title, css, desc)
ROBOHELP 8 SCRIPTING GUIDE
Parameters
Parameter nameData typeOptionalDescription
titleStringYesTitle of the master page
The filename for the master page is also same
as the title.
cssStringYesCSS to attach
The path of the CSS file must be relative to the
project path. If this parameter is null, no CSS is
attached. If this parameter is not specified or is
empty, the default CSS of the project is
attached.
descStringYesDescription
importItem
Description
Imports a master page into the current project.
22
Classes
Returns
MasterPage
Syntax
importItem (filePath)
Parameters
Parameter nameData typeOptionalDescription
filePathStringNoAbsolute path of the master page to import
SnippetManager
Handles all snippets in the current project.
SnippetManager properties
Property nameData typeDescription
parentProjectRead-only
Project object
typenameStringRead-only
Class name of the reference object
countIntegerRead-only
Number of snippets present in the project
ROBOHELP 8 SCRIPTING GUIDE
SnippetManager methods
item
Description
Returns the snippet specified by the index.
Returns
Snippet
Syntax
item (index)
Parameters
Parameter nameData typeOptionalDescription
indexIntegerNoIndex for the snippet
23
Classes
newItem
Description
Creates a snippet in the current project.
Returns
Snippet
Syntax
newItem (snippetName)
Parameters
Parameter nameData typeOptionalDescription
snippetNameStringNoName of the snippet
importFile
Description
Imports an existing snippet into the current project.
Returns
Snippet
Syntax
importFile (snippetFilePath)
ROBOHELP 8 SCRIPTING GUIDE
Parameters
Parameter nameData typeOptionalDescription
snippetFilePathStringNoFull path of the snippet file
UDVManager
Handles all user-defined variables (UDVs) in the current project.
UDVManager properties
Property nameData typeDescription
parentProjectRead-only
Project object
typenameStringRead-only
Class name of the reference object
24
Classes
countIntegerRead-only
Number of UDVs present in the project
UDVManager methods
item
Description
Returns the UDV specified by the index.
Returns
UDV
Syntax
item (index)
Parameters
Parameter nameData typeOptionalDescription
indexIntegerNoIndex for the UDV
newItem
Description
Creates a UDV in the current project.
ROBOHELP 8 SCRIPTING GUIDE
Returns
UDV
Syntax
newItem (UDVName, UDVValue)
Parameter
Parameter nameData typeOptionalDescription
UDVNameStringNoName of the new UDV
UDVValueStringNoValue of the new UDV
FileManager
Handles all files in the current project.
FileManager properties
25
Classes
Property nameData typeDescription
parentProjectRead-only
Project object
typenameStringRead-only
Class name of the reference object
countIntegerRead-only
Number of files present in the project
FileManager methods
item
Description
Returns the file specified by the index.
Returns
File
Syntax
item (index)
Parameters
Parameter nameData typeOptionalDescription
indexIntegerNoIndex for the file
checkoutAll
Description
Checks out all files in the current project from the version control system.
Returns
Boolean
Syntax
checkoutAll ()
checkinAll
Description
Checks in all files in the current project to the version control system.
Returns
Boolean
ROBOHELP 8 SCRIPTING GUIDE
Classes
26
Syntax
checkinAll ()
getLatestAll
Description
Gets the latest version of all the files from the version control system into the current project.
Returns
Boolean
Syntax
getLatestAll ()
TOCManager
Handles all TOCs in the current project.
Loading...
+ 68 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.