本書是統(tǒng)計軟件SPSS系列的第二冊——二次開發(fā)篇,其著重講述SPSS軟件的二次開發(fā)功能。全書主要介紹了SaxBasic腳本語言的語言環(huán)境和語法基礎、圖形用戶界面設計、SPSS對象、宏編程的若干技巧(包括SaxBasic和Syntax混合編程、編輯菜單、添加工具條等)以及SPSS高級編程等內容。高級編程部分包括DLL調用、DDE編程、OLE自動化和基于SPSS功能的ActiveX控件制作方面的知識,并給出了若干完整的實例。本書內容豐富、新穎,適用于所有對統(tǒng)計學、SPSS及二次開發(fā)感興趣的大學生、研究生、技術人員、研究人員和軟件開發(fā)人員閱讀。前言工欲善其事,必先利其器。對于從事統(tǒng)計及有關的工作人員來說,SPSS無疑是一個好“利器”,它使我們的工作事半功倍。對于經常使用SPSS,希望進一步提高工作效率,或者希望利用SPSS的統(tǒng)計功能做更多事情的朋友,掌握SPSS的二次開發(fā)功能,便會找到更加愉快的感覺。本書全面闡述SPSS的二次開發(fā)功能,其目的就是幫助您做更多的事情。在介紹SPSS之前,先談談二次開發(fā)。目前比較成功的專業(yè)軟件幾乎都提供了二次開發(fā)功能,如Office,AutoCAD,GIS軟件等。提供二次開發(fā)功能的意義不僅僅在于通過其自身攜帶的客戶語言,可以編制自己的宏,還在于它們都支持OLE(或者說ActiveX,COM)等機制,能夠彼此鏈接,在最短的時間內組成一個功[CM(]能強大的應用程序。打個比方,基于ActiveX,我們可以在VB界面下,輸入原始數(shù)據(jù)或由[CM)]Access,SQL提供數(shù)據(jù),調用SPSS對這些數(shù)據(jù)做分析,然后把分析結果通過GIS軟件(或控件)進行圖形展示。這樣,一個應用程序就集中了VB、數(shù)據(jù)庫、SPSS和GIS軟件各自的優(yōu)點,而且花費時間最短。當然,您也許會說基于OLE的開發(fā)存在很多不足,比如對專業(yè)軟件的依賴性強,進程慢,后期綁定以及操作麻煩等。但對于大部分專業(yè)軟件的使用者來說,他們的主要精力放在專業(yè)上,計算機技術只是手段。他們要的是實現(xiàn)想法和分析問題,首先關注的是程序的可靠性。二次開發(fā)能幫助他們,專業(yè)成熟軟件提供足夠的可靠性和準確性。當然,還節(jié)省了時間和精力。SPSS的VBA客戶語言稱為SaxBasic語言,SaxBasic與SPSS原來所帶的Syntax語句相結合,可以比較容易地通過編程完成統(tǒng)計分析任務。本書比較詳細地介紹了SaxBasic腳本語言的語言環(huán)境和語法基礎,在SaxBasic環(huán)境下如何設計圖形用戶界面,SPSS對象及其屬性和方法,宏編程的若干技巧(包括SaxBasic和Syntax混合編程、編輯菜單、添加工具條等)以及SPSS高級編程內容。高級編程部分介紹了DLL調用、DDE編程、OLE自動化以及基于SPSS功能的ActiveX控件制作等方面的知識,給出了若干完整的實例,讀者只要略加修改就可以用于自己的程序設計。我們基于以下三方面的原因編寫本書:①用戶有要求。到目前為止,應該說VB、VBA等已經深入人心,許多學習SPSS、學習統(tǒng)計的學生和工作人員已經有了利用SPSS的SaxBasic語言進行編程的愿望。這種愿望,我們是從網上、軟件提供商及其他途徑了解到的。②學習資料少。軟件商不提供SPSS二次開發(fā)的詳細說明,目前這方面的資料在國內還很難找到,要學習只能從幫助文件開始,可謂“路漫漫其修遠……”?、劢涍^摸索,我們在這方面已經積累了一點經驗,愿意與讀者分享和交流!為了方便您利用本書進行學習,我們將書中的部分程序實例匯編在隨書光盤中,讀者可以直接通過調用來實踐。由于作者水平有限,書中難免存在不妥之處,懇請讀者朋友批評指正。作者