SPSS實例:[6]vba控制spss處理數據?

Tags: 數據, 實例,

使用vba來控制spss處理數據,使得我們可以批量進行spss操作,大大加快我們的工作速度。比如,前兩天有網友問我如何進行一萬次迴歸分析,我直接寫了一段vba代碼,很快就能處理完,並整理成分析報告。這就是vba與spss合作所帶來的效果,因為篇幅有限,下面只給大家概述一下如何在vba中調用spss對象,並進行數據處理,想要了解更詳細的教程,希望您持續關注我寫的教程。轉載請註明出處(作者百度ID為:qq675495787)

概述spss對象:spss對象是控制spss程序的對象集合。spss對象的指令變換點是ISpssApp對象,它是所有對象的容器,內含所有對象。下面的樹形圖介紹了spss對象所包含的屬性和方法,這些屬性和方法會在以後的教程中跟大家介紹。

引用spss類庫:如果你想要寫spss腳本,你必然要用到spss對象。在spss腳本中,你可以使用objSPSSApp為全局變量來調用spss對象,在此之前要確保這個對象已經被創建好了(實際上,創建了spss對象就使spss程序開始運行了,只不過你看不到程序界面,說實話,你什麼都看不到)。

換一種說法,如果你想要在其他編程語言中使用spss,你需要首先創建ISpssApp對象。例如,在微軟的VB編輯器中(使用vba),首先你必須在VBA工程中引用spss對象類庫(也就是:spsstype library,spss pivot table
type library和spss RTF type library)。操作方法是,在vbe中,點擊工具--引用;找到這幾個類庫,然後勾選他們,點擊確定按鈕。

聲明spss對象變量:引用了spss類庫以後,我們可以在vba中聲明spss對象變量了。代碼如下:

Dimspss as object

Set
spss=createobject("spss.application16")

實際上我們更建議使用對象類來聲明變量,所以上面的語句應當寫成:

Dimspss as ispssapp

Set spss=new
spsswinlib.application16

這樣的寫法可以加快你的代碼編寫速度。

設置spss程序可見性:以上兩個小代碼可以啟動spss程序,當你不需要看到這個程序的時候,你應該讓其保持隱身,在後臺運行,你看不到spss程序。如果你想要看到spss程序,你應該設置spss對象的可見性屬性為true。如下圖所示,我們打開一個數據文件“卡方檢驗”,然後設置數據文件的可見性為1,這樣就可以看到spss程序了,否則是看不到的,但是即便看不到他們也是運行中的。

小試牛刀:我們試試如何讀取spss的版本號,輸入代碼

a = spss.GetSPSSVersion

MsgBox a

這段代碼就是用變量a存放spss的版本號,然後用消息框顯示a的數值。

原作者: Delta數據分析工作室 SPSS實例 (共40篇) 上一篇:龍骨圖(聚類譜系... 下一篇:多選題如何做交叉...

數據, 實例,
相關問題答案