scriptContext 物件

偵測何時將 Script 作為自動 Script 執行

使用 scriptContext 物件,您可以偵測 Script 何時作為自動 Script 執行。 這可讓您編寫 Script,讓 Script 可以在任一狀況(是否為自動 Script)中運作。 以下簡單的 Script 說明了此方法。

Sub Main
    If scriptContext Is Nothing Then
     MsgBox "I'm not an autoscript"
    Else
     MsgBox "I'm an autoscript"
    End If
End Sub
  • 當 Script 不是作為自動 Script 執行時, scriptContext 物件將具有 Nothing值。
  • 本範例中指定 If-Else 邏輯,您可以在 Else 子句中包含您自動 Script 特定的程式碼。 任何不在自動 Script 的狀況下執行的程式碼,會包含在 If 子句中。 當然,您也可以包含要在任一狀況下執行的程式碼。

取得自動 Script 所需的值

scriptContext 物件可提供存取自動 Script 所需的值,例如觸發目前自動 Script 的輸出項目。

  • scriptContext.GetOutputItem 方法會傳回觸發目前自動 Script 的輸出項目 (ISpssItem 物件)。
  • scriptContext.GetOutputDoc 方法會傳回與目前自動 Script 相關聯的輸出文件(ISpssOutputDoc 物件)。
  • scriptContext.GetOutputItemIndex 方法會在相關聯的輸出文件中傳回索引,此為觸發目前自動 Script 的輸出項目索引。

附註:不會啟動 scriptContext.GetOutputItem 傳回的物件。 如果您的 Script 需要已啟動的物件,您必須啟動該物件--例如使用 ActivateTable 方法。 當您完成任何處理時,請呼叫 Deactivate 方法。