Adobe 27510753 Scripting Guide - Page 39

Enter the following VBScript using any text editor.

Page 39 highlights

Adobe InDesign CS2 Scripting Guide Getting Started with InDesign Scripting 31 set myPageWidth to page width of document preferences of myDocument set myLeft to left of margin preferences of myPage set myTop to top of margin preferences of myPage set myRight to right of margin preferences of myPage set myBottom to bottom of margin preferences of myPage end tell set myRight to myLeft + (myPageWidth - (myRight + myLeft)) set myBottom to myTop + (myPageHeight - (myBottom + myTop)) return {myTop, myLeft, myBottom, myRight} end myGetBounds 2. Save the text as a compiled script in the Scripts folder inside the Presets folder in your InDesign folder. 3. Test the script by double-clicking the script name in the InDesign Scripts palette, or run it from your script editor. VBScript 1. Enter the following VBScript using any text editor. Rem Simple User Interface Example Set myInDesign = CreateObject("InDesign.Application.CS2") Set myDialog = myInDesign.Dialogs.Add myDialog.CanCancel = True myDialog.Name = " Simple User Interface Example Script" Set myDialogColumn = myDialog.DialogColumns.Add Set myTextEditField = myDialogColumn.TextEditboxes.Add myTextEditField.EditContents = "Hello World!" myTextEditField.MinWidth = 180 Rem Create a number (real) entry field. Set myPointSizeField = myDialogColumn.RealEditboxes.Add myPointSizeField.EditValue = 72 myDialog.Show Rem Get the values from the dialog box controls. myString = myTextEditField.EditContents myPointSize = myPointSizeField.EditValue Rem Remove the dialog box from memory. myDialog.Destroy Rem Create a new document. Set myDocument = myInDesign.Documents.Add Set myTextFrame = myDocument.Pages.Item(1).TextFrames.Add Rem Resize the text frame to the "live" area of the page (using the function "myGetBounds"). myBounds = myGetBounds(myDocument, myDocument.Pages.Item(1)) myTextFrame.GeometricBounds = myBounds Rem Enter the text from the dialog box in the text frame. myTextFrame.Contents = myString Rem Set the size of the text to the size you entered in the dialog box. myTextFrame.Texts.Item(1).PointSize = myPointSize Rem Function for getting the bounds of the "live area" Function myGetBounds(myDocument, myPage) myPageHeight = myDocument.DocumentPreferences.PageHeight myPageWidth = myDocument.DocumentPreferences.PageWidth myTop = myPage.MarginPreferences.Top myLeft = myPage.MarginPreferences.Left myRight = myPage.MarginPreferences.Right myBottom = myPage.MarginPreferences.Bottom myRight = myPageWidth - myRight myBottom = myPageHeight - myBottom myGetBounds = Array(myTop, myLeft, myBottom, myRight) End Function 2. Save the text as a plain text file with the file extension .vbs in the Scripts folder inside the Presets folder in your InDesign folder. 3. Test the script by double-clicking the script name in the InDesign Scripts palette.

  • 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

Adobe InDesign CS2 Scripting Guide
Getting Started with InDesign Scripting
31
set myPageWidth to page width of document preferences of myDocument
set myLeft to left of margin preferences of myPage
set myTop to top of margin preferences of myPage
set myRight to right of margin preferences of myPage
set myBottom to bottom of margin preferences of myPage
end tell
set myRight to myLeft + (myPageWidth - (myRight + myLeft))
set myBottom to myTop + (myPageHeight - (myBottom + myTop))
return {myTop, myLeft, myBottom, myRight}
end myGetBounds
2.
Save the text as a compiled script in the Scripts folder inside the Presets folder in your InDesign folder.
3.
Test the script by double-clicking the script name in the InDesign Scripts palette, or run it from your script
editor.
VBScript
1.
Enter the following VBScript using any text editor.
Rem Simple User Interface Example
Set myInDesign = CreateObject("InDesign.Application.CS2")
Set myDialog = myInDesign.Dialogs.Add
myDialog.CanCancel = True
myDialog.Name = " Simple User Interface Example Script"
Set myDialogColumn = myDialog.DialogColumns.Add
Set myTextEditField = myDialogColumn.TextEditboxes.Add
myTextEditField.EditContents = "Hello World!"
myTextEditField.MinWidth = 180
Rem Create a number (real) entry field.
Set myPointSizeField = myDialogColumn.RealEditboxes.Add
myPointSizeField.EditValue = 72
myDialog.Show
Rem Get the values from the dialog box controls.
myString = myTextEditField.EditContents
myPointSize = myPointSizeField.EditValue
Rem Remove the dialog box from memory.
myDialog.Destroy
Rem Create a new document.
Set myDocument = myInDesign.Documents.Add
Set myTextFrame = myDocument.Pages.Item(1).TextFrames.Add
Rem Resize the text frame to the "live" area of the page (using the function "myGetBounds").
myBounds = myGetBounds(myDocument, myDocument.Pages.Item(1))
myTextFrame.GeometricBounds = myBounds
Rem Enter the text from the dialog box in the text frame.
myTextFrame.Contents = myString
Rem Set the size of the text to the size you entered in the dialog box.
myTextFrame.Texts.Item(1).PointSize = myPointSize
Rem Function for getting the bounds of the "live area"
Function myGetBounds(myDocument, myPage)
myPageHeight = myDocument.DocumentPreferences.PageHeight
myPageWidth = myDocument.DocumentPreferences.PageWidth
myTop = myPage.MarginPreferences.Top
myLeft = myPage.MarginPreferences.Left
myRight = myPage.MarginPreferences.Right
myBottom = myPage.MarginPreferences.Bottom
myRight = myPageWidth - myRight
myBottom = myPageHeight - myBottom
myGetBounds = Array(myTop, myLeft, myBottom, myRight)
End Function
2.
Save the text as a plain text file with the file extension
.vbs
in the Scripts folder inside the Presets folder in
your InDesign folder.
3.
Test the script by double-clicking the script name in the InDesign Scripts palette.