Moving from Microsoft Office VBA to AppleScript:
MacTech's Guide to Making the Transition
Introduction
|
Table of Contents
Page Prev and Page Next buttons at bottom of the page.
|
April, 2007
Page 64
Order2:=xlAscending, _
Key2:=.Columns("B"), _
Header:=xlNo, _
MatchCase:=False
End With
It's just the same in AppleScript, recalling that match case true will compile to with match case:
tell application "Microsoft Excel"
tell active sheet
sort range "A1" order1 sort ascending key1 column 1 ¬
order2 sort ascending key2 column 2 header header no ¬
without match case
end tell
end tell
You cannot refer to column "A" in AppleScript: the script will error. Your choices are column 1, column "A:A" or range "A:A":
sort range "A1" order1 sort ascending key1 range ¬
"A:A" order2 sort ascending key2 range "B:B" header header no ¬
without match case
Filtering a Range – Autofilter
Each worksheet contains an Autofilter object, and individual Autofilters are applied using the AutoFilter method. Each filter can have two criteria, and filters are cumulative. This example will cause the sheet to display only rows in which the value in column A is >=10 and <=100, and the value in column C is “OK”:
With ActiveSheet.Range("A1")
.AutoFilter 'remove existing autofilter dropdowns
.AutoFilter _
Field:=1, _
Criteria1:=">=10", _
Operator:=xlAnd, _
Criteria2:="<=100", _
VisibleDropdown:=True
.AutoFilter _
Field:=3, _
Criteria1:="OK", _
VisibleDropdown:=True
End With
Note that the autofilter is applied to the CurrentRegion around Cell A1, since only one cell is specified.
In AppleScript:
tell application "Microsoft Excel"
tell range "A1" of active sheet --single cell, applies to current region
autofilter range -- with no parameters, toggles dropdowns
autofilter range field 1 criteria1 ">=10" operator ¬
autofilter and criteria2 "<=100" with visible drop down
autofilter range field 3 criteria1 "OK" with visible drop down
end tell
< Previous Page Next Page>
- SPREAD THE WORD:
- Slashdot
- Digg
- Del.icio.us
- Newsvine