|
MacTech Network: MacTech Forums | MacForge.net | Computer Memory | Register Domains | Cables | iPod Deals | Mac Deals | Mac Book Shelf |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
April, 2007 tell application "Microsoft Excel" set page break of every range of active sheet to page break none make new horizontal page break at end of active sheet with properties ¬ {location:range ("C10"), extent:page break full, horizontal page break type:¬ page break manual} end tell Setting Different Headers and Footers At times, one wants a header or footer only on the first page of a multi-page printout. Excel does not have separate first page and even page headers and footers like Word does. To print a footer on only the first page, you‘ll need to cycle through the sheets, printing the first one with the footer, then remove the footer before printing the rest of the pages, then restore it to the worksheet at the end: Public Sub FirstPageFooterOnly_OneSheet() Dim sFooter As String With ActiveWorkbook.Sheets("My Sheet") sFooter = .PageSetup.LeftFooter 'Save footer .PrintOut From:=1, To:=1 .PageSetup.LeftFooter = "" 'Remove from remaining pages .PrintOut From:=2 .PageSetup.LeftFooter = sFooter 'Restore footer End With End Sub This is a straightforward conversion to AppleScript, with no surprises – just look up the analogous names in the dictionary and all is OK: tell application "Microsoft Excel" tell sheet "My Sheet" of active workbook set sFooter to left footer of page setup object --save footer print out from 1 to 1 set left footer of page setup object to "" -- remove footer 2nd page print out from 2 set left footer of page setup object to sFooter -- restore end tell end tell Note that if you have Left, Center and Right footers, you‘ll need to save and restore all of them. You can use the print out method to create a print preview within Excel: ActiveSheet.Printout Preview:=True print out active sheet with preview That does the job, but for some reason the script hangs, as if it's tied up waiting for a response, perhaps from the printer driver. Here's the way to avoid that, so the script can move on directly to the next line, or finish if it's done: tell application "Microsoft Excel" activate ignoring application responses print out active sheet with preview < 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.