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.
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 5
and “Constants” on page 101 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.
Last updated 8/27/2012
ROBOHELP 10 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.
Last updated 8/27/2012
ROBOHELP 10 SCRIPTING GUIDE
Scripting basics
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.SSLLayoutType.AIRHELP
SSLLayoutType is a child class of the RoboHelp class, and AIRHELP is a property of the SSLLayoutType class.
3
Last updated 8/27/2012
ROBOHELP 10 SCRIPTING GUIDE
Scripting basics
4
RoboHelp
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
ScreenManager
Screen
FMFileManager
FMFile
WordFileManager
WordFile
ServerManager
Server
HTMLHelpWindowManager
HTMLHelpWindow
ReportManager
MapIDManager
AddMethod
PIType
SSLLayoutType
Language
ReportType
DeleteOption
Status
SkinType
FrameFileFormat
TokenType
TagType
FileStatus
SynchStatus
ServerType
WordFileFormat
HTMLHelpWindowAlign
HTMLHelpWindowDefaultTab
HTMLHelpWindowButtons
HTMLHelpWindowProperties
ContentManager
SSLContent
For more information on classes, see “Classes” on page 5.
For more information on constants, see “Constants” on page 101.
Last updated 8/27/2012
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
5
convertToHTMLOutputBooleanTrue if the Convert RoboHelp-edited Topics
typenameStringClass name of reference object
scriptingVersionStringScripting interface version
languageInteger constantRead-only
projectProjectProject object
SSLLayoutTypeSSLLayoutTypeRead-only
LanguageLanguageRead-only
ReportTypeReportTypeRead-only
AddMethodAddMethodAddMethod constant
DeleteOptionDeleteOptionRead-only
StatusStatusRead-only
To HTML Option is selected.
This option can be set using the scripting API.
RoboHelp language settings
SSLLayoutType constant
Language constant
ReportType constant
DeleteOption constant
Status constant
SkinTypeSkinTypeRead-only
SkinType constant
Last updated 8/27/2012
ROBOHELP 10 SCRIPTING GUIDE
Classes
Property nameData typeDescription
FrameFileFormatFrameFileFormatRead-only
FrameFileFormat constant
TokenTypeTokenTypeRead-only
TokenType constant
TagTypeTagTypeRead-only
TagType constant
FileStatusFileStatusRead-only
FileStatus constant
SyncStatusSyncStatusRead-only
SyncStatus constant
ServerTypeServerTypeRead-only
ServerType constant
WordFileFormatWordFileFormatRead-only
WordFileFormat constant
6
commandLineArgCountIntegerNumber of command-line arguments passed
in the RoboHelp process
RoboHelp methods
getCommandLineArg
Description
Get the command line argument passed in RoboHelp process
Returns
String
Syntax
getCommandLineArg(argCount)
Parameters
Parameter nameData TypeOptionalDescription
argCountintNoArgument index in the command line
openProject
Description
Opens .mpj and .xpj projects in a RoboHelp application.
Last updated 8/27/2012
ROBOHELP 10 SCRIPTING GUIDE
Classes
Syntax
openProject (projectPath, upgradeIfRequired)
Parameters
Parameter nameData typeOptionalDescription
7
projectPathStringNoFull path to the project file that you want to
upgradeIfRequiredBooleanYesUpgrade the project if created in older version
open
of RoboHelp. Default value is false.If upgrade
not required for the project, this parameter is
ignored.
getTokenManager
Description
Returns Token Manager for the specified file.
Returns
TokenManager
Syntax
getTokenManager (fullFilePath)
Parameters
Parameter nameData typeOptionalDescription
fullFilePathStringNoFull path to the file that you want to open
readWholeFile
Description
Read the whole file and return the file content. This function will take care of encoding issues for XML and html files
as well
Returns
String
Syntax
readWholeFile(fullFilePath)
Parameters
Parameter nameData TypeOptionalDescription
fullFilePathStringNoFull path of file which user wants to read
Last updated 8/27/2012
ROBOHELP 10 SCRIPTING GUIDE
Classes
writeWholeFile
Description
Creates a new file if required and write the content to this file. This function will take care of encoding issues for XML
and html files. If the file is HTML or XML then it will check for encoding type and encode the file accordingly, other
wise it will write the content in UTF-8 and write BOM as well.
Returns
Boolean
Syntax
writeWholeFile(fullFilePath, stringBuffer)
Parameters
Parameter nameData TypeOptionalDescription
fullFilePathStringNoFull path of file which user wants to read
8
stringBufferStringNoString Content which needs to be
written to file
createZipFile
Description
Creates a zipped file. This function requires a input folder as well as output zip file path