[ Team LiB ] |
![]() ![]() |
1.2 Is This Application Scriptable?Our first rule of thumb for when AppleScript is appropriate is that you should have a scriptable application that you want to automate with it. That's because AppleScript, although it is a genuine programming language with some interesting and useful features, is intended for use with other applications, which are expected to provide the real muscle. Thus AppleScript's numeric abilities are limited (it has no built-in trigonometric or logarithmic functions) and its text processing facilities are fairly rudimentary (it doesn't support regular expressions and isn't even very good at extracting substrings). So, for example, if I wanted to remove a text file's HTML markup, or extract the headers and bodies of all the messages in an .mbox file, I'd be far happier using Perl. On the other hand, AppleScript can drive Perl (and vice versa), so in your AppleScript code you can take advantage of Perl's powers (and vice versa); we'll see several examples later in the book. Thus success might simply be a matter of combining specialties appropriately. Using AppleScript with a scriptable application is not itself a panacea. First you need a scriptable application that has the capabilities to do what you want. And even such an application might not provide a way to script those particular capabilities. Still, you can't worry about that if you don't know whether an application is scriptable in the first place! Here's the most reliable way to ascertain whether an
application is scriptable. Start up Apple's
Script Editor program.
(It's in
/Applications/AppleScript.) Choose File
The scriptable applications I use with some regularity include many of those supplied by Apple as part of Mac OS X, such as Address Book, AppleWorks, iCal, iTunes, Mail, Safari, TextEdit, Apple System Profiler, and the Finder. Then there are important third-party programs like Microsoft Word and Excel, FileMaker Pro, Internet Explorer, Interarchy, Mailsmith, BBEdit, StuffIt Deluxe, GraphicConverter, and Frontier. You might also have QuarkXPress or Photoshop. Of course there are many others. It is sometimes possible to drive even a nonscriptable application, by using AppleScript to simulate a "ghost" user who can physically choose menu items, push buttons, and so forth. This approach should probably be used only as a last resort, but it's important to know about, so I'll demonstrate it later in this chapter, and there's a further chapter devoted to it (Chapter 22). ![]() |
[ Team LiB ] |
![]() ![]() |