Adobe 27510753 Scripting Guide - Page 182

Controlling other export options, In addition to the range

Page 182 highlights

174 Working with Documents in VBScript Adobe InDesign CS2 Scripting Guide Rem An InDesign CS2 VBScript. Rem Exports a range of pages as EPS files. Set myInDesign = CreateObject("InDesign.Application.CS2") Rem Enter the name of the page you want to export in the following line. Rem Note that the page name is not necessarily the index of the page in the Rem document (e.g., the first page of a document whose page numbering starts Rem with page 21 will be "21", not 1). myInDesign.EPSExportPreferences.PageRange = "1-3, 6, 9" Rem Fill in your own file path. myFile = "c:\myTestFile.eps" myInDesign.ActiveDocument.Export idExportFormat.idEPSType, myFile, False Controlling other export options In addition to the page range, you can control other EPS export options using scripting by setting the properties of the EpsExportPreferences object. Rem ExportEachPageAsEPS.vbs Rem An InDesign CS2 VBScript Rem Exports each page of an InDesign CS document as a separate EPS to Rem a selected folder using the current EPS export settings. Set myInDesign = CreateObject("InDesign.Application.CS2") Set myFileSystemObject = CreateObject("Scripting.FileSystemObject") If myInDesign.Documents.Count 0 Then Set myDocument = myInDesign.ActiveDocument Rem VBScript doesn't have a native "get folder" statement, so we'll use Rem InDesign's JavaScript to display a folder browser. myJavaScript = "myFolder = Folder.selectDialog(""Choose a Folder""); myFolderName = myFolder. fsName;" Rem Run the string "myJavaScript" as a JavaScript myFolderName = myInDesign.DoScript(myJavaScript, idScriptLanguage.idJavascript) If myFileSystemObject.FolderExists(myFolderName) Then myExportEPSPages myInDesign, myDocument, myFolderName End If End If Function myExportEPSPages(myInDesign, myDocument, myFolderName) myDocumentName = myDocument.Name Set myDialog = myInDesign.Dialogs.Add With myDialog .Name = "ExportPages" With .DialogColumns.Add With .DialogRows.Add With .StaticTexts.Add .StaticLabel = "Base Name:" End With Set myBaseNameField = .TextEditboxes.Add myBaseNameField.EditContents = myDocumentName myBaseNameField.MinWidth = 160 End With End With End With myResult = myDialog.Show If myResult = True Then myBaseName = myBaseNameField.EditContents Rem Remove the dialog box from memory. myDialog.Destroy For myCounter = 1 To myDocument.Pages.Count myPageName = myDocument.Pages.Item(myCounter).Name myInDesign.EPSExportPreferences.PageRange = myPageName Rem Generate a file path from the folder name, the base document name, Rem and the page name. Rem Replace the colons in the page name (e.g., "Sec1:1") wtih underscores. myPageName = Replace(myPageName, ":", "_") myFilePath = myFolderName & "\" & myBaseName & "_" & myPageName & ".eps" myDocument.Export idExportFormat.idEPSType, myFilePath, False Next

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184

174
Working with Documents in VBScript
Adobe InDesign CS2 Scripting Guide
Rem An InDesign CS2 VBScript.
Rem Exports a range of pages as EPS files.
Set myInDesign = CreateObject("InDesign.Application.CS2")
Rem Enter the name of the page you want to export in the following line.
Rem Note that the page name is not necessarily the index of the page in the
Rem document (e.g., the first page of a document whose page numbering starts
Rem with page 21 will be "21", not 1).
myInDesign.EPSExportPreferences.PageRange = "1-3, 6, 9"
Rem Fill in your own file path.
myFile = "c:\myTestFile.eps"
myInDesign.ActiveDocument.Export idExportFormat.idEPSType, myFile, False
Controlling other export options
In addition to the page range, you can control other EPS export options using scripting by setting the
properties of the
EpsExportPreferences
object.
Rem ExportEachPageAsEPS.vbs
Rem An InDesign CS2 VBScript
Rem Exports each page of an InDesign CS document as a separate EPS to
Rem a selected folder using the current EPS export settings.
Set myInDesign = CreateObject("InDesign.Application.CS2")
Set myFileSystemObject = CreateObject("Scripting.FileSystemObject")
If myInDesign.Documents.Count <> 0 Then
Set myDocument = myInDesign.ActiveDocument
Rem VBScript doesn’t have a native "get folder" statement, so we’ll use
Rem InDesign’s JavaScript to display a folder browser.
myJavaScript = "myFolder = Folder.selectDialog(""Choose a Folder""); myFolderName = myFolder.
fsName;"
Rem Run the string "myJavaScript" as a JavaScript
myFolderName = myInDesign.DoScript(myJavaScript, idScriptLanguage.idJavascript)
If myFileSystemObject.FolderExists(myFolderName) Then
myExportEPSPages myInDesign, myDocument, myFolderName
End If
End If
Function myExportEPSPages(myInDesign, myDocument, myFolderName)
myDocumentName = myDocument.Name
Set myDialog = myInDesign.Dialogs.Add
With myDialog
.Name = "ExportPages"
With .DialogColumns.Add
With .DialogRows.Add
With .StaticTexts.Add
.StaticLabel = "Base Name:"
End With
Set myBaseNameField = .TextEditboxes.Add
myBaseNameField.EditContents = myDocumentName
myBaseNameField.MinWidth = 160
End With
End With
End With
myResult = myDialog.Show
If myResult = True Then
myBaseName = myBaseNameField.EditContents
Rem Remove the dialog box from memory.
myDialog.Destroy
For myCounter = 1 To myDocument.Pages.Count
myPageName = myDocument.Pages.Item(myCounter).Name
myInDesign.EPSExportPreferences.PageRange = myPageName
Rem Generate a file path from the folder name, the base document name,
Rem and the page name.
Rem Replace the colons in the page name (e.g., "Sec1:1") wtih underscores.
myPageName = Replace(myPageName, ":", "_")
myFilePath = myFolderName & "\" & myBaseName & "_" & myPageName & ".eps"
myDocument.Export idExportFormat.idEPSType, myFilePath, False
Next