' Скрип просит пользователя задать финансовый год, а затем определяет макрос !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