- Full Description
AppleScript is an English-like, easy-to-understand scripting language built into every Mac. AppleScript can automate hundreds of AppleScript-able applications, performing tasks both large and small, complex and simple.
Learn AppleScript: The Comprehensive Guide to Scripting and Automation on Mac OS X, Third Edition has been completely updated for Mac OS X Snow Leopard. Its all here, with an emphasis on practical information that will help you solve any automation problemfrom the most mundane repetitive tasks to highly integrated workflows of complex systems.
- Friendly enough for beginners, detailed enough for advanced AppleScripters
- Includes major contributions from expert AppleScripters: Emmanuel Levy, Harald Monihart, Ian Piper, Shane Stanley, Barry Wainwright, Craig Williams, and foreword by AppleScript inventor, William Cook
What youll learn
- See how AppleScript represents information as objectsincluding numbers, strings, lists, and records.
- Learn how to manipulate these objects using commands and operators, and how to store them in variables.
- Organize your code using handlers and script objects.
- Understand how applications describe their objects and commands in dictionaries and how to interpret that information when learning to script applications.
- Manipulate the Mac OS X file system.
- Automate iTunes, Mail, iCal, and other popular lifestyle applications in Mac OS X.
- Discover sophisticated text processing techniques using regular expressions.
- Script professional productivity applicationsApple iWork, Microsoft Office, FileMaker Pro, and Adobe InDesign.
- Harness the power of the Unix command line in Mac OS X.
- Create your own Cocoa applications with the new AppleScriptObjC bridge.
Who this book is for
- First-time scripters who want to automate tasks on their Macs
- Existing AppleScripters looking to develop proficient, professional, or guru-level knowledge and skills
- Professional Mac OS X developers wishing to understand this powerful and pervasive technology
- Table of Contents
Table of Contents
- Introducing AppleScript
- AppleScript in Principle
- AppleScript in Practice
- Writing Scripts in AppleScript Editor
- Understanding How Application Scripting Works
- Learning to Work with AppleScript Objects
- Working with Text
- Working with Numbers
- Working with Dates
- Working with Lists and Records
- Storing Objects in Variables
- More on Commands
- More on Operators and Coercions
- Making Decisions Using Conditionals and Loops
- Making Decisions When Dealing with Errors
- Interacting with the User
- Working with Files
- Organizing Your Code with Handlers
- Organizing Your Code with Script Objects
- Scripting the File System
- Scripting Apple Applications
- Extending AppleScript with Scripting Additions
- AppleScript Amenities
- Scripting iWork and Office
- Scripting Data and Databases
- Scripting Adobe InDesign
- Interacting with the Unix Command Line
- Using Smile: The AppleScript Integrated Production Environment
- Tips and Techniques for Improving Your Scripts
- Creating Cocoa Applications with AppleScriptObjC
- Source Code/Downloads
If you think that you've found an error in this book, please let us know about it. You will find any confirmed erratum below, so you can check if your concern has already been addressed.On page Script 18-22:
In the example on associative lists, the handler delete_associative_item() does not work in Mac OS X Lion. The statement "set contents of record_ref to missing value" fails. Even when using an item number instead of a record reference, it fails. The corresponding example in Chapter 19 also fails.
Was there a change in AppleScript under Lion which prevents modifying an entire item?
On page 220:Corrected script. names are shortened.
set total_post to 27
set post_per to 4
set whole_page to total_post div post_per
if total_post mod post_per â‰ 0 then
set whole_page to whole_page + 1
The "if" statement is incorrect. should be "total post mod" and not "whole page mod".
On page 557:final paragraph, bottom of page 557 -- ''.... Well, in Chapter 10 the original associative list design was mixed together with the...'' -- can find no reference there -- all about word counting