Adobe 27510753 Scripting Guide - Page 34

VBScript, Start any text editor Notepad, for example.

Page 34 highlights

26 Getting Started with InDesign Scripting Adobe InDesign CS2 Scripting Guide set justification to center align end tell end tell end tell end tell --myGetBounds is a handler that returns the bounds of the "live area" of a page. on myGetBounds(myDocument, myPage) tell application "Adobe InDesign CS2" set myPageHeight to page height of document preferences of myDocument 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 4. Save the script. 5. Run the new script. VBScript To create the script: 1. Start any text editor (Notepad, for example). 2. Make sure that you have the Hello World document open; if you've closed the document without saving it, simply run the previous script again to make a new Hello World document. 3. Enter the following code. Rem Improved "Hello World" Set myInDesign = CreateObject("InDesign.Application.CS2") Rem Enter the name of a font on your system, if necessary. Set myFont = myInDesign.Fonts.Item("Arial") Set myDocument = myInDesign.ActiveDocument Set myPage = myDocument.Pages.Item(1) Rem Get page width and page height using the function "myGetBounds". myBounds = myGetBounds(myDocument, myPage) Set myTextFrame = myPage.TextFrames.Item(1) Rem Resize the text frame to match the publication margins. myTextFrame.GeometricBounds = myBounds Set myParagraph = myTextFrame.Paragraphs.Item(1) Rem Change the font, size, and alignment. If TypeName(myFont) "Nothing" Then myParagraph.AppliedFont = myFont End If myParagraph.PointSize = 48 myParagraph.Justification = idJustification.idLeftAlign 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

  • 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

26
Getting Started with InDesign Scripting
Adobe InDesign CS2 Scripting Guide
set justification to center align
end tell
end tell
end tell
end tell
--myGetBounds is a handler that returns the bounds of the "live area" of a page.
on myGetBounds(myDocument, myPage)
tell application "Adobe InDesign CS2"
set myPageHeight to page height of document preferences of myDocument
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
4. Save the script.
5.
Run the new script.
VBScript
To create the script:
1.
Start any text editor (Notepad, for example).
2.
Make sure that you have the Hello World document open; if you’ve closed the document without saving it,
simply run the previous script again to make a new Hello World document.
3. Enter the following code.
Rem Improved "Hello World"
Set myInDesign = CreateObject("InDesign.Application.CS2")
Rem Enter the name of a font on your system, if necessary.
Set myFont = myInDesign.Fonts.Item("Arial")
Set myDocument = myInDesign.ActiveDocument
Set myPage = myDocument.Pages.Item(1)
Rem Get page width and page height using the function "myGetBounds".
myBounds = myGetBounds(myDocument, myPage)
Set myTextFrame = myPage.TextFrames.Item(1)
Rem Resize the text frame to match the publication margins.
myTextFrame.GeometricBounds = myBounds
Set myParagraph = myTextFrame.Paragraphs.Item(1)
Rem Change the font, size, and alignment.
If TypeName(myFont) <> "Nothing" Then
myParagraph.AppliedFont = myFont
End If
myParagraph.PointSize = 48
myParagraph.Justification = idJustification.idLeftAlign
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