與 16.0 之前版本相容
舊方法和內容
在 16.0 和更新版本中一自動方法和性質已廢棄不用。 就一般功能而言,這包括所有與互動式統計圖相關聯的物件、「草稿文件」物件,以及與地圖相關聯的方法和性質。 如需相關資訊,請參閱 IBM® SPSS® Statistics Basic Script Editor 隨附的說明系統中的「 16.0版的版本注意事項」。 IBM SPSS Statistics特定說明可從 Script 編輯器中的「說明>IBM SPSS Statistics 物件說明」存取。
整體程序
在 16.0 版之前,編寫程式功能包括整體程序檔案。 對於 16.0 和更新版本,編寫程式功能不使用整體程序檔案,雖然已安裝 16.0 版之前的 Global.sbs (重新命名為 Global.wwd),以便舊版本相容。
若要移轉在廣域程序檔案中呼叫函數的 Script pre-16.0 版本,請將陳述式 '#Uses "<install dir>\Samples\Global.wwd" 新增至 Script 的宣告區段,其中 <install dir> 是 IBM SPSS Statistics 的安裝目錄。 '#Uses 是基本 Script 處理器可辨識的特殊註解。 如果您不確定 Script 是否使用整體程序檔,您應新增 '#Uses 陳述式。 您也可以使用 '$Include:,而非 '#Uses。
原有自動 Script
在 16.0 版之前,Scripting 功能包括一個包含所有自動 Script 的單一自動 Script 檔。 而在 16.0 和更新版本中,沒有單一自動 Script 檔。 現在每個自動 Script 會儲存在不同的檔案中,且可套用至一或多個輸出項目,而 16.0 之前的版本則相反,每個自動 Script 都專屬於特定的輸出項目。
部分隨 pre-16.0 之前版本安裝的自動 Script 可作為一組個別 Script 檔,位於 IBM SPSS Statistics 安裝目錄的 Samples 子目錄中。 識別此類檔案的方式是其檔名結尾為 Autoscript,檔案類型為 wwd。 依預設,這些檔案不與任何輸出項目相關聯。 但是,可從「選項」對話框的 Script 標籤建立關聯性。 如需相關資訊,請參閱主題 Script 選項 。
任何在 16.0 之前版本中使用的自訂自動 Script,必須從「選項」對話框的 Script 標籤手動轉換,並與一或多個輸出項目產生關聯。 轉換程序包括以下步驟:
- 從原有 Autoscript.sbs 檔案中擷取指定自動 Script 的子常式,並將它另存為副檔名為 wwd 或 sbs 的新檔案。 檔名可任意指定。
- 將子常式的名稱變更為
Main,移除參數規格,並追蹤該 Script 需要哪些參數,例如觸發自動 Script 的樞紐表。 - 使用
scriptContext物件(永遠可用)取得自動 Script 所需的值,例如觸發自動 Script 的輸出項目。 - 從「選項」對話框的 Script 標籤,將 Script 與輸出物件產生關聯。
為說明已轉換的程式碼,請考慮原有 Autoscript.sbs 檔案的 Descriptives_Table_DescriptiveStatistics_Create 自動 Script。
Sub Descriptives_Table_DescriptiveStatistics_Create _
(objPivotTable As Object,objOutputDoc As Object,lngIndex As Long)
'Autoscript
'Trigger Event: DescriptiveStatistics Table Creation after running
' Descriptives procedure.
'Purpose: Swaps the Rows and Columns in the currently active pivot table.
'Assumptions: Selected Pivot Table is already activated.
'Effects: Swaps the Rows and Columns in the output
'Inputs: Pivot Table, OutputDoc, Item Index
Dim objPivotManager As ISpssPivotMgr
Set objPivotManager=objPivotTable.PivotManager
objPivotManager.TransposeRowsWithColumns
End Sub
以下為已轉換的 Script:
Sub Main
'Purpose: Swaps the Rows and Columns in the currently active pivot table.
'Effects: Swaps the Rows and Columns in the output
Dim objOutputItem As ISpssItem
Dim objPivotTable as PivotTable
Set objOutputItem = scriptContext.GetOutputItem()
Set objPivotTable = objOutputItem.ActivateTable
Dim objPivotManager As ISpssPivotMgr
Set objPivotManager = objPivotTable.PivotManager
objPivotManager.TransposeRowsWithColumns
objOutputItem.Deactivate
End Sub
- 請注意,轉換的 Script 不會指出要將 Script 套用到哪一個物件上。 輸出項目與自動 Script 之間的關聯是在「選項」對話框的 Script 標籤設定,並可在階段作業間維護。
scriptContext.GetOutputItem會取得觸發自動 Script 的輸出項目(ISpssItem物件)。- 不會啟動
scriptContext.GetOutputItem傳回的物件。 如果您的 Script 需要已啟動的物件,您必須啟動該物件,如本範例中使用ActivateTable方法完成。 當您完成任何表格處理時,請呼叫Deactivate方法。
對於 16.0 版,是否作為自動 Script 執行的程式檔之間並無差異。 任何 Script 只要經過適當的編碼,就可以用在這兩種狀況中。 如需相關資訊,請參閱主題 scriptContext 物件 。
附註: 若要從應用程式建立事件觸發 Script ,請參閱 啟動 Script。
Script 編輯器
對於 16.0 版,上述適用於 Basic 的 Script 編輯器不再支援以下 16.0 之前版本的功能:
- Script、分析、統計圖、公用程式和附加功能表。
- 可將指令語法貼到 Script 視窗的功能。
IBM SPSS Statistics Basic Script Editor 是一個獨立式應用程式,透過檔案> 新建> Script、檔案> 開啟> Script 或公用程式> 建立/編輯 AutoScript (從「檢視器」視窗) 從 IBM SPSS Statistics 內啟動。 它可讓您對啟動它的 IBM SPSS Statistics 實例執行 Script。 開啟之後,編輯器將在結束 IBM SPSS Statistics之後保持開啟,但使用 IBM SPSS Statistics 物件的 Script 將不再執行。
檔案類型
對於 16.0 和更新版本,編寫程式功能將持續以 sbs 檔案類型支援執行與編輯 Script。 依預設,使用 IBM SPSS Statistics Basic Script Editor 建立的新 Basic Script 具有 wwd檔案類型。
使用外部 COM 用戶端
對於 16.0 版及更高版本,用於從外部 COM 用戶端實例化 IBM SPSS Statistics 的程式 ID 為 SPSS.Application16。 應用程式物件應宣告為 spsswinLib.Application16。 例如:
Dim objSpssApp As spsswinLib.Application16
Set objSpssApp=CreateObject("SPSS.Application16")
若要從外部 COM 用戶端連接至 IBM SPSS Statistics 用戶端的執行中實例,請使用:
Dim objSpssApp As spsswinLib.Application16
Set objSpssApp=GetObject("","SPSS.Application16")
如果正在執行多個用戶端,則 GetObject 會連線到最近啟動的用戶端。
附註:對於 16.0 以後的版本,ID 仍然是 Application16。