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