本书是统计软件SPSS系列的第二册——二次开发篇,其着重讲述SPSS软件的二次开发功能。全书主要介绍了SaxBasic脚本语言的语言环境和语法基础、图形用户界面设计、SPSS对象、宏编程的若干技巧(包括SaxBasic和Syntax混合编程、编辑菜单、添加工具条等)以及SPSS高级编程等内容。高级编程部分包括DLL调用、DDE编程、OLE自动化和基于SPSS功能的ActiveX控件制作方面的知识,并给出了若干完整的实例。本书内容丰富、新颖,适用于所有对统计学、SPSS及二次开发感兴趣的大学生、研究生、技术人员、研究人员和软件开发人员阅读。前言工欲善其事,必先利其器。对于从事统计及有关的工作人员来说,SPSS无疑是一个好“利器”,它使我们的工作事半功倍。对于经常使用SPSS,希望进一步提高工作效率,或者希望利用SPSS的统计功能做更多事情的朋友,掌握SPSS的二次开发功能,便会找到更加愉快的感觉。本书全面阐述SPSS的二次开发功能,其目的就是帮助您做更多的事情。在介绍SPSS之前,先谈谈二次开发。目前比较成功的专业软件几乎都提供了二次开发功能,如Office,AutoCAD,GIS软件等。提供二次开发功能的意义不仅仅在于通过其自身携带的客户语言,可以编制自己的宏,还在于它们都支持OLE(或者说ActiveX,COM)等机制,能够彼此链接,在最短的时间内组成一个功[CM(]能强大的应用程序。打个比方,基于ActiveX,我们可以在VB界面下,输入原始数据或由[CM)]Access,SQL提供数据,调用SPSS对这些数据做分析,然后把分析结果通过GIS软件(或控件)进行图形展示。这样,一个应用程序就集中了VB、数据库、SPSS和GIS软件各自的优点,而且花费时间最短。当然,您也许会说基于OLE的开发存在很多不足,比如对专业软件的依赖性强,进程慢,后期绑定以及操作麻烦等。但对于大部分专业软件的使用者来说,他们的主要精力放在专业上,计算机技术只是手段。他们要的是实现想法和分析问题,首先关注的是程序的可靠性。二次开发能帮助他们,专业成熟软件提供足够的可靠性和准确性。当然,还节省了时间和精力。SPSS的VBA客户语言称为SaxBasic语言,SaxBasic与SPSS原来所带的Syntax语句相结合,可以比较容易地通过编程完成统计分析任务。本书比较详细地介绍了SaxBasic脚本语言的语言环境和语法基础,在SaxBasic环境下如何设计图形用户界面,SPSS对象及其属性和方法,宏编程的若干技巧(包括SaxBasic和Syntax混合编程、编辑菜单、添加工具条等)以及SPSS高级编程内容。高级编程部分介绍了DLL调用、DDE编程、OLE自动化以及基于SPSS功能的ActiveX控件制作等方面的知识,给出了若干完整的实例,读者只要略加修改就可以用于自己的程序设计。我们基于以下三方面的原因编写本书:①用户有要求。到目前为止,应该说VB、VBA等已经深入人心,许多学习SPSS、学习统计的学生和工作人员已经有了利用SPSS的SaxBasic语言进行编程的愿望。这种愿望,我们是从网上、软件提供商及其他途径了解到的。②学习资料少。软件商不提供SPSS二次开发的详细说明,目前这方面的资料在国内还很难找到,要学习只能从帮助文件开始,可谓“路漫漫其修远……”!③经过摸索,我们在这方面已经积累了一点经验,愿意与读者分享和交流!为了方便您利用本书进行学习,我们将书中的部分程序实例汇编在随书光盘中,读者可以直接通过调用来实践。由于作者水平有限,书中难免存在不妥之处,恳请读者朋友批评指正。作者