You are not logged in.
by Hanaan Rosenthal
Paperback: 808 pages
Publisher: Apress; 2nd Rev edition (September 25, 2006)
Shipping Weight: 1.11 pounds
This is the second edition of Hanaan Rosenthal's critically-acclaimed AppleScript book. It goes the extra mile to teach you AppleScript--explaining advanced topics without leaving you behind.
AppleScript is the high-level scripting language that resides on the Mac platform. It can be used to add functionality to the Mac operating system, automate tasks, add functions, and generally make things easier. AppleScript has always been very useful, and with Mac OS X, you can take AppleScript further than before.
This book begins with the basics like handling variables, loops, and commands. Then it proceeds with more advanced concepts like debugging, AppleScripting with databases, manipulating PDFs with SMILE, and automating media workflow. In a nutshell, this book:
-Takes you on a journey from novice to professional AppleScripter
-Is completely comprehensive; nothing is left to the imagination
-Is up-to-date through AppleScript l.10/Mac OS X Tiger
If you are a Mac user who wants to know the real meaning of having full control over your machine, get into AppleScripting. And pick up this book because it really is the only guide you need to master the art of AppleScripting!
Everything you could ever need to know about AppleScript!
This subtitle pretty much says it all.
Mr. Rosenthal's second edition is a vast improvement over his first AppleScript text, and I believe his efforts have resulted in a book that is clearly the best available in the AppleScript library.
Even though this tome is written in such a way as to appeal to the beginning AppleScripter, nearly anyone who regularly turns to AppleScript in an attempt at simplifying their daily routine will find useful information within its pages. Heck, the short chapter devoted to the Clipboard alone was enough to make me want this volume.
The real strength, which underlies every bit of writing, is that the reader not only gets the information she/he needs to make something work, but also is granted an explanation of why this particular code works the way it does. The author does an extremely good job detailing the ways different processes work so that one comes away with a much clearer understanding of the AppleScript language, and not just a bunch of lessons on how to use different terms. Additionally, there are little gems scattered throughout the text covering Remote access of another machine, making your own icons, and a nice little plug for all of us here at MacScripter.net. (On the bottom of page 551.)
Throughout the work, Mr. Rosenthal also discusses his philosophy of scripting every chance he gets. This makes for a much more enjoyable reading/studying experience and I found it extremely helpful personally. He actually becomes passionate when writing about things like script libraries and script objects, obviously because he believes strongly in them, and really wants to 'spread the gospel' of concise scripting.
The only negative aspect that I found to be annoying was his tendency to devote more pages to costly software than to free, or shareware products. For instance, chapter 13 (Advanced User Interaction) introduces AppleScript Studio (free with every Apple machine) in 13 pages, while the remaining 31 pages are devoted to FaceSpan ($199). Also, as of this writing (16 Oct 2006), none of the published sites for downloading the example scripts are valid.
I highly recommend this book to anyone looking to either learn AppleScript, or who just wants a handy, USEFUL reference for those nagging questions in the middle of the night. It is well written, well organized, and has plenty of examples on how to get things done. You will also find that after reading just a few of these chapters, your own skills are improved and your scripts are much neater and easier to edit later on.
As of 12 January 2007, the example scripts are available for download at the published web site.
As a newcomer to AppleScript I found Hanaan's book to be an excellent read. I actually had the first edition on my bookshelf for a while but decided to invest in a copy of the second edition based on a few recommendations that it was a great improvement (including from Hanaan himself). It a very informative book and is packed full of information yet it is one of those rare text books that can be read from cover-to-cover. I'm sure that this will end up as one of those dog-eared, much loved reference books that is permanently near my keyboard.
I just got the book (second edition) and this is really a note to the author.
The book posted on the site referenced in the book pg. xxxiii(www.customflowsolutions.com) is the first ed. as probably are the scripts since they are dated 2004.
I just got the book today. Looking forward to using it.
As a hobbyist seeking to learn applescript, my first book was Applescript the definitive Guide (an old edition before AS Studio I think. It didn't help me much through applescripting..
Then I stumbled upon this great book while browsing the APress website while looking for a good book on perl. Bought this book, started off writing useful scripts in a few days.
Currently I regularly use applescript to automate tasks at work and study. Many thanks to this book.
Greetings to all living here,
This book is the main reason of why I'm posting this comment and needless to say I was surprised pleasantly to see it being on the list of recommended sources. I got 3rd edition (2010) written at the time of Snow Leopard, predating Lion - my OS X - by just a year.
I'm a complete dummy, non-programmer just seeking to learn as much about my Mac as possible to be in full command towards my goal of becoming a real power user. My only complaint is that through being exhaustively comprehensive and reckoned on beginners too (rather just on active users) it sometimes feels as it's overtly structured and much of its material is spread over too many sections, splitting my attention (to have a more or less concentrated view trying to understand and recall notions etc I have search over many pages before/after a current reading point), instead of reducing them and covering in a more concentrated way in one or across several bigger partitions.
Finally, the main problem, a specific one, for which to resolve I would kindly ask your help. I came across this place in a section about constructing references of Part 2.Understanding how application scripting works. More on constructing references. He explains what relative references are (the subject about identifying elements), and then in the next section devoted to identifying a range of elements he writes:
A third option is to use short references to the start and end elements themselves. For example,
tell application "TextEdit"
words 2 thru 4 of text of document 1
is really just shorthand for this:
tell application "TextEdit"
words (word 2) thru (word 4) of text of document 1
The start and end points are relative references, word 3 and word 6, that will be expanded using the reference to the container object, text of document 1 of application "TextEdit", as the base reference
I don't understand this passage. Related references define elements before or after another element. My questions:
1. How do we see that in this case word 3 and word 6 specifically are relative references if the script clearly states that word 2 through word 4 are the limiting points? Where word 5 got lost?
2. If indeed they are what's the author's point behind him claiming that "A third option is to use short references to the start and end elements themselves"? Why he calls it "references"? I don't get what is exactly being referred to and why these references are "short"? What is the difference between the command "words 2 thru 4 of text of document 1" and "words (word 2) thru (word 4) of text of document 1"?
Further on he continues:
In most applications, this isn’t a particularly useful way to write references, but some applications allow you to use different classes of elements for the start and end points. For instance, the following script obtains several words from a text frame in Adobe Illustrator:
tell application id "com.adobe.illustrator"
contents of words 2 thru 4 of text frame 1 of document 1
3. I don't get where these "different classes of elements for start and end points" in this example are?! I see just the class "words" being used. What are the "other classes"?
If some skillful user will grant me a part of his knowledge helping me to grasp this I would be very happy indeed.
P.S. This forum is shown as being largely inactive. Hope someone occasionally pops in here cause I don't know what other AppleScript users communities would be of help for me.