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
'begin description
'Экспорт меток в текстовые файлы.
'end description
'Если вы запустите этот скрипт при открытом файле данных,
'имена и метки переменных, а также метки значений будут скопированы в
'3 .txt-файла на диске C:\\. Каждая строка в этих файлах соответствует отдельной
'переменной, поля разделяются символом "|".

'Автор: неизвестен

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

Option Explicit
Sub Main
Dim objSPSSInfo As ISpssInfo,ValueLabels()
Dim NumVars As Long, LongValString As String, NumVals As Long, K As Long,I As Long,J As Long, VarName As String, VarLabel As String, ValName As String, ValLabel As String
 
Set objSPSSInfo = objSpssApp.SpssInfo
NumVars=objSPSSInfo.NumVariables-1
Open "C:\\метки_переменных.txt" For Output As #1
Open "C:\\метки_значений.txt" For Output As #2
Open "C:\\сводный.txt" For Output As #3
 
For I=0 To NumVars
  VarName= objSPSSInfo.VariableAt(I)
  VarLabel= objSPSSInfo.VariableLabelAt(I)
  If Len(VarLabel)=0 Then 
      VarLabel=VarName
  End If
  Print #1, VarName & "|" & VarLabel 
  LongValString = CStr(VarName) & "|" & CStr(VarLabel)
  NumVals= objSPSSInfo.NumberOfValueLabels(I)-1
  For K=0 To NumVals
      ValName= objSPSSInfo.ValueAt(I,K)
      ValLabel= objSPSSInfo.ValueLabelAt(I,K)
      If Len(ValLabel)=0 Then
           ValLabel=ValName
      End If
      Print #2, VarName & "|" & ValName & "|" & ValLabel
      LongValString = LongValString & "|" & CStr(ValName) & "|" & CStr(ValLabel)
  Next K
  Print #3, LongValString
Next I
Set objSPSSInfo = Nothing
Close #1
Close #2
Close #3
End Sub