' Скрип просит пользователя задать финансовый год, а затем определяет макрос !fy, содержащий значение этого года.
' Потом скрипт вызывает заданный файл синтаксиса.
' Использование:
' Настройте скрипт на вызов нужного файла синтаксиса (путь и имя файла .sps)
' Измените допустимые минимум и максимум при выборе финансового года
' Ваш синтаксис должен использовать макрос !fy всякий раз, когда идёт указание на финансовый год.
' Например, следующий синтаксис использует макрос !fy:
' * report.sps.
'DATA LIST LIST /a.
'Begin DATA
'1
'End DATA.
'LIST.
'COMPUTE Year=!fy.
'LIST.
' http://www.spsstools.net/SampleScripts.htm
' Автор: Raynald Levesque, 8.11.2002
Option Explicit
Sub Main()
Dim objSyntaxDoc As ISpssSyntaxDoc
Dim strFY As String
Dim CmdStr As String
On Error GoTo Oopps
Do 'Последнее значение в параметрах InputBox - значение по умолчанию
strFY = InputBox$("Целое число в интервале 1980 и 2002","Укажите финансовый год:","2001")
Loop Until CInt(strFY)>1980 And CInt(strFY)<2002
'Определяем макрос и запускаем его
CmdStr = "DEFINE !fy()" & strFY & "!ENDDEFINE." & vbCr
objSpssApp.ExecuteCommands CmdStr,True
'Открываем и запускаем файл синтаксиса
Set objSyntaxDoc = objSpssApp.OpenSyntaxDoc ("c:\\temp\\report.sps")
objSyntaxDoc.Visible=True
objSyntaxDoc.Run
objSyntaxDoc.Close
Set objSyntaxDoc = Nothing
Exit Sub
Oopps:
MsgBox "Ошибка: " & Err.Description
End Sub