Определение, когда скрипт выполняется как автоскрипт
С помощью метода GetScriptContext можно определить, когда скрипт выполняется как автоскрипт. Это позволяет так составить код скрипта, чтобы он работал в обоих контекстах (автоскрипт или нет). Этот простой скрипт иллюстрирует такой подход.
Sub Main
If scriptContext Is Nothing Then
MsgBox "I’m not an autoscript"
Else
MsgBox "I’m an autoscript"
End If
End Sub
n Когда скрипт не выполняется как автоскрипт, метод GetScriptContext возвратит значение Нет.
n Следуя логике if-else данного примера, можно включить код для собственного автоскрипта в предложение else. Любой код, который не нужно выполнять в контексте автоскрипта, следует включать в предложение if. Конечно, можно также включить
код, который должен выполняться в обоих контекстах.
Получение значений, необходимых для автоскриптов
Для получения значений, необходимых для автоскриптов, таким, как элемент вывода, запускающий текущий автоскрипт, воспользуйтесь объектом scriptContext (он всегда имеется).
n Метод scriptContext.GetOutputItem возвращает элемент вывода (объект
ISpssItem), который запустил автоскрипт.
n Метод scriptContext.GetOutputItem возвращает выходной документ (объект
ISpssItem), связанный с текущим автоскриптом.
n Метод scriptContext.GetOutputItemIndex возвращает индекс в связанном выходном документе элемента вывода, который запустил текущий автоскрипт.
Примечание: Объект, который возвратил scriptContext.GetOutputItem, не активирован. Если для скрипта необходим активированный объект, его нужно активировать, например, с помощью метода ActivateTable. По завершении каких-либо действий нужно вызвать метод Deactivate.
Источник: Руководство пользователя по базовой системе Statistics 20

April 20th, 2012
admin
Опубликовано в рубрике