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
'BEGIN DESCRIPTION
'Скрипт делает одинаковую приставку к имени каждой переменной.
'END DESCRIPTION

' Размещено в SPSSX-L 03.11.2003. Автор: Jon Peck.
' Перевод: А. Балабанов, 14.11.2008
Option Explicit

Sub Main
	Const SUFFIX= "_добавка"

	' Объявление рабочих переменных скрипта
        Dim objDataDoc As ISpssDataDoc
        Dim objDocuments As ISpssDocuments
        Set objDocuments = objSpssApp.Documents
        Dim varList As Variant, newlist As Variant, oldlist As Variant
        Dim i As Long

        ' Устанавливаем ссылку на набор данных SPSS
        Set objDataDoc = objDocuments.GetDataDoc(0)

		' Получаем массив с именами переменных
        varList = objDataDoc.GetVariables (False)

		' Цикл по всем элементам массива: обновляем имена переменных, сливаем их в одну строковую переменную.
		For i = LBound(varList) To UBound(varList)
		        oldlist = oldlist & " " & varList(i)
		        newlist = newlist & " " & varList(i) & SUFFIX
		Next i
		' Формируем и запускаем команду синтаксиса на переименование переменных
		objSpssApp.ExecuteCommands "RENAME VARIABLES (" & oldlist & "=" & newlist & ").", _
                 False  'False указывает, что команда синтаксиса будет выполняться асинхронно со скриптом

End Sub