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
Option Explicit

'Перед запуском скрипта в редакторе данных должен быть открыт файл данных
'Скрипт находит наиболее раннюю дату, содержащуюся в переменной date1,
'а затем сохраняет файл данных с именем RRDDMMYYYY, где DD,MM и YYYY,
'соответственно, день, месяц и год той даты, которая была найдена в date1.
'Автор: неизвестен

'Работоспособность скрипта может зависеть от того, какой именно формат даты выбран для переменной
'date1. Он должен совпадать с форматом даты, установленным в операционной системе - примеч. перев.

Sub Main
Dim objDataDoc As ISpssDataDoc
Dim dateval As Variant
Dim NOC As Integer
Dim i As Integer
Dim min As Date
Dim date1 As Date
Dim strCommand As String
Dim strtest As String

Set objDataDoc = objSpssApp.Documents.GetDataDoc (0)
NOC = objDataDoc.GetNumberOfCases
dateval = objDataDoc.GetTextData ("date1", "date1", 1, NOC)
min = CDate(dateval(0,1))
For i = 1 To NOC - 1
    date1 = CDate(dateval(0, i))
    If date1 < min Then min = date1
Next i

If Day(min)<10 Then
strtest="'c:\\temp\\RR0"+CStr(Day(min)*1000000+Month(min)*10000+Year(min))+".sav'"
Else
strtest="'c:\\temp\\RR"+CStr(Day(min)*1000000+Month(min)*10000+Year(min))+".sav'"
End If

strCommand="save outfile="+strtest+"."+vbCrLf
objSpssApp.ExecuteCommands strCommand, False
   
End Sub