Working with objects

Getting the frontmost document or layer

To refer to the selected document, use the application object’s current document property in AppleScript or the active document property in JavaScript or VBScript. Similarly, you can use the document object’s current layer or active layer property to refer to the selected layer.

There are other types of “active” or “current” object properties, like active dataset or active view. For details, see the Adobe lllustrator CC 2017 Scripting Reference for your language.


Creating new objects

Several objects (besides the application object itself) cannot be obtained from containers or parent objects. Your script must create these objects directly.

The following objects must be created explicitly:

  • CMYK color
  • document preset
  • EPS save options
  • export options AutoCAD
  • export options Flash
  • export options GIF
  • export options JPEG
  • export options Photoshop
  • export options PNG8
  • export options PNG24
  • export options SVG
  • export options TIFF
  • file
  • folder
  • gradient color
  • gray color
  • Illustrator save options
  • ink
  • ink info
  • lab color
  • matrix
  • MXG save options
  • no color
  • open options
  • open options AutoCAD
  • open options FreeHand
  • open options PDF
  • open options Photoshop
  • paper info
  • Pattern color
  • PDF save options
  • PPD file
  • PPD file info
  • print color management options
  • print color separation options
  • print coordinate options
  • printer
  • printer info
  • print flattener options
  • print font options
  • print job options
  • print options
  • print page marks options
  • print paper options
  • print postscript options
  • raster effect options
  • rasterize options
  • screen
  • screen spot function
  • RGB color
  • spot color
  • tracing options

The file and folder objects are Adobe ExtendScript devices designed to provide platform-independent access to the underlying file system. For information on using these objects, see JavaScript Tools Guide.

For information on creating an object explicitly, see the chapter for your scripting language.


Collection objects

Most collection objects must be obtained from a container. For example, a path items collection object can be contained by a document object or a layer object; to obtain an object in a path items collection, refer to either containing of these objects. For example, see the language-specific sections below.

AppleScript

To refer to a path items object in a document

path item 1 in document 1

To refer to a path items object in a layer

path item 1 in layer 1 in document 1

JavaScript

To refer to a path items object in a document

documents[0].pathItems[1]

To refer to a path items object in a layer

documents[0].layers[0].pathItems[0]

VBScript

To refer to a path items object in a document

Documents(1).PathItems(1)

To refer to a path items object in a layer

Documents(1).Layers(1).PathItems(1)

For more examples of collection-item containers, see the document object Elements table in Adobe lllustrator CC 2017 Scripting Reference: AppleScript or the Properties table in Adobe lllustrator CC 2017 Scripting Reference: JavaScript or Adobe lllustrator CC 2017 Scripting Reference: VBScript. A diagram of the lllustrator CC 2017 object model is in The Illustrator Scripting Object Model.


Selected objects

Sometimes, you want to write scripts that act on the currently selected object or objects. For example, you might want to apply formatting to selected text or change a selected path’s shape.

Selecting Text

To select text, use the select command or method of the text range object.

Selecting art items

You can select an art object (like graph items, mesh items, raster items, and symbol items) by setting its selected property to true. (In AppleScript, selected is a property of the page items object.)

Referring to selected art items

To refer to all currently selected objects in a document, use the document object’s selection property. To work with the objects in the selection array, you must determine their type, so you will know which properties and methods or commands you can use with them. In JavaScript and VBScript, each artwork object type has a read-only typename property that you can use to determine the object’s type. In AppleScript, use the class property.


Notes on renaming objects stored in the application’s panels

Several objects can be renamed; that is, their name property is writeable. The following types of objects can be sorted alphabetically in the corresponding Illustrator panel. If a script modifies the name of such an object, references to that object by index can become invalid.

  • Brush
  • Gradient
  • Graphic Style
  • Pattern
  • Swatch
  • Symbol
  • Variable