В дополнение к отличному ответу Дэвида ...
Если вам нужно подражать выражению VBA, пример кода из ответа Дэвида можно свернуть в обработчик , какв приведенном ниже примере.
on setCellOffsetValue(cl, co, ro, val)
tell application "Numbers"
tell table 1 of sheet 1 of document 1
set c to cell cl's column's address as number
set r to cell cl's row's address as number
set value of cell (c + co) of row (r + ro) to val
end tell
end tell
end setCellOffsetValue
Теперь вы можете использовать его несколько раз в одном и том же скрипте, вызывая его, например:
setCellOffsetValue("A1", 3, 1, "Example")
Как вы можете видеть в этой версии, setCellOffsetValue
обработчик принимает четыре параметра :
cl
- ячейка для смещения. co
- столбецсмещение от ячейки. ro
- смещение строки от ячейки). val
- значение смещения ячейки.
Placeобработчик setCellOffsetValue
в вашем скрипте и вызовите его при необходимости.
Обработчик выше имеет table
, sheet
и document
жестко закодировано, каждый на 1
.Однако в этом примере вы также передаете эту информацию обработчику :
on setCellOffsetValue(cl, co, ro, val, t, s, d)
tell application "Numbers"
tell table t of sheet s of document d
set c to cell cl's column's address as number
set r to cell cl's row's address as number
set value of cell (c + co) of row (r + ro) to val
end tell
end tell
end setCellOffsetValue
Теперь вы можете использовать ее несколько раз в одном и том же сценарии, вызывая ее, например:
setCellOffsetValue("A1", 3, 1, "Example", 1, 1, 1)
Или:
setCellOffsetValue("A1", 3, 1, "Example", "Table 1", "Sheet 1", "Untitled")
Последние три параметра могут быть либо числовым значением , либо именным значением , в зависимости от ситуациидля потребности в данный момент.
Эта версия будет полезна для документов , которые имеют несколько таблиц и или листов и необходимость целевогозатем table 1 of sheet 1 of document 1
.
Как вы можете видеть в этой версии, обработчик setCellOffsetValue
принимает семь параметров :
cl
- ячейка для смещения. co
- смещение столбца от ячейки. ro
- смещение строки от ячейки). val
- значение ячейки смещения. t
- номер или имя таблицы. s
- номер или имя листа. d
- Номер документа or name.
Примечание. Пример кода AppleScript является именно таким и не содержит обработки ошибок, которая может потребоваться.Пользователь должен добавить любую обработку ошибок, которая может быть уместной, необходимой или требуемой.Взгляните на оператор try и error оператор в AppleScript Language Guide .См. Также Работа с ошибками .