1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
' Тема: экспорт данных в текстовый файл в свободном формате
' Ключевые слова: экспорт данных, текстовый файл, формат.
' Скрипт для экспорта данных в ASCII-файл "свободного" формата.
' Автор: Raynald Levesque, 31.03.2003
' Мой сайт по программе SPSS: http://www.spsstools.ru

' Перевод: А. Балабанов, 09.11.2008
' Проверено: SPSS 13.0

Option Explicit

Sub Main
	Dim objDocuments As ISpssDocuments
    Dim objDataDoc As ISpssDataDoc
	Dim objSPSSInfo As ISpssInfo
	Dim strCmd As String
	Dim strOut As Variant
	Dim lngNOC As Long
	Dim intCnt As Integer
	Dim intVar As Integer
    Dim SpssTextData As Variant
	Dim numVars As Long

	On Error GoTo Oopps
	'Задайте в следующей строке путь к файлу данных
	strCmd = "GET FILE='c:\\Program Files\\SPSS\\Employee data.sav'."
	objSpssApp.ExecuteCommands strCmd , True
	Set objSPSSInfo = objSpssApp.SpssInfo
	numVars=objSPSSInfo.NumVariables-1

    Set objDocuments=objSpssApp.Documents
    Set objDataDoc = objDocuments.GetDataDoc(0)
	lngNOC = objDataDoc.GetNumberOfCases
	' Задайте в следующей строке имя файла, в который будут сохраняться данные.
	Open "c:\\temp\\free format.txt" For Output As #1

    SpssTextData = objDataDoc.GetTextData (objSPSSInfo.VariableAt(0), objSPSSInfo.VariableAt(numVars), 1, lngNOC)
	For intCnt =0 To lngNOC - 1
		For intVar=0 To numVars
		strOut=strOut & " " & SpssTextData(intVar,intCnt)
		Debug.Print strOut
		Next
		Print #1, strOut
		strOut=""
	Next
	Close #1
	Exit Sub

Oopps:
	Debug.Print Err & " " & Err.Description
	Resume Next
End Sub