|
MacTech Network: MacForge.net | Computer Memory | Register Domains | Printer Supplies | Cables | iPod Deals | Mac Deals | Mac Book Shelf |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
April, 2007 Normally in AppleScript, you expect to be able to specify many, or most, of the properties of a workbook in a with properties parameter, right at creation time, as in Chapter 2's example of making a new table at a document. (A scripter would expect that only elements, if any are needed, would have to be added afterwards.) That turned out not to be possible with Word documents, but it is possible with Excel, I am happy to report. All of the properties listed in the dictionary as read/write, with the exception of those that require that a workbook first be set up as a shared workbook, can be set with properties {…} in the make new command. In VBA, you would have to set these after making the new workbook and setting a reference to it in a variable. You can do that in AppleScript, too, as we will see below, but you can also set any of the following properties at inception. I have set all of them here to something other than the default values, and they all work, including setting passwords: tell application "Microsoft Excel" set newWkbk to make new workbook with properties ¬ {accept labels in formulas:false, conflict resolution:¬ local session changes, date 1904:¬ false, display drawing objects:¬ placeholders, personal view list settings:¬ false, personal view print settings:¬ false, precision as displayed:true, save link values:¬ false, update remote references:¬ false, template remove external data:¬ true, keep change history:¬ true, remove personal information:¬ true, password:"yyyyy", write password:¬ "zzzzz", read only recommended:¬ true, workbook comments:"Hi, there"} end tell You can verify that these are non-default settings, if you wish, by first running properties of active workbook on a regular blank new workbook, copy the result to a text editor, and then run it again after making another workbook using the script above with non-default property values. Compare the results. If you save and then re-open the workbook, you will be asked for passwords, and all the other properties, including the ones recorded in Excel/Preferences/Calculation/Document Properties are all set already. Setting properties at inception in the make new command is a useful time-saver, and something to consider when you start writing your own AppleScripts in the future. Probably when converting your VBA macros, it is simpler to just mimic the standard VBA macro line by line: Dim newWkbk As Workbook
Set newWkbk = Workbooks.Add With newWkbk .AcceptLabelsInFormulas = False .PrecisionAsDisplayed = True ' etc. End With In AppleScript: tell application "Microsoft Excel" set newWkbk to make new workbook tell newWkbk set accept labels in formulas to false set precision as displayed to true -- etc end tell < Previous Page Next Page>
|
2 years of the magazine, and the all new MacTech DVD ... at 70% off! |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
All contents are Copyright 1984-2008 by Xplain Corporation. All
rights reserved.