' Скрипт показывает текущий тип выдачи SPSS: обычный (объектный) Output с мобильными таблицами, ' или текстовый Output (Draft Output) и переключает по запросу пользователя тип выдачи на ' противоположный. ' ' Переключение типа выдачи: ' Если к моменту переключения в сессии SPSS нет открытых обычного или текстового окон выдачи, ' скрипт создаёт, соответсвенно, новый документ для обычной или текстовой выдачи. Если нужные ' окна уже имеются, активным окном выдачи становится последний из открытых окон выдачи среди, ' соответственно, обычных или текстовых окон. ' Если вы "прицепите" этот скрипт к одной из кнопок на панели инструментов окна синтаксиса SPSS, у вас будет ' возможность легко перенаправлять выдачу одним нажатием этой кнопки, не покидая окна синтаксиса. ' Скрипт протестирован в версии SPSS 10.1.4. ' Автор: Karel Asselberghs, asselberghs@dds.nl Sub Main Dim objSPSSOptions As ISpssOptions Dim objDocuments As ISpssDocuments Dim objOutputDoc As ISpssOutputDoc Dim objDraftDoc As ISpssDraftDoc Dim count As Integer Dim OutputType As Integer Set objSPSSOptions = objSpssApp.Options Set objDocuments = objSpssApp.Documents OutputType = objSPSSOptions.CurrentOutputType If OutputType = 0 Then If MsgBox("Переключить вывод в текстовое окно?",vbOkCancel,"Обычное окно результатов") <> vbOK Then Exit All End If Else If MsgBox("Переключить вывод в обычное окно?",vbOkCancel,"Текстовое окно результатов") <> vbOK Then Exit All End If End If If OutputType = 0 Then ' если текущая выдача - обычная count = objDocuments.DraftDocCount If count = 0 Then objSPSSOptions.CurrentOutputType = 1 Set objDraftDoc=objDocuments.GetDraftDoc(0) objDraftDoc.Visible=True Else Set objDraftDoc = objDocuments.GetDraftDoc(count-1) objDraftDoc.Designated = True End If Else ' если текущая выдача - текстовая count = objDocuments.OutputDocCount If count = 0 Then objSPSSOptions.CurrentOutputType = 0 Set objOutputDoc=objDocuments.GetOutputDoc(0) objOutputDoc.Visible=True Else Set objOutputDoc = objDocuments.GetOutputDoc(count-1) objOutputDoc.Designated = True End If End If If OutputType = 1 And objSPSSOptions.CurrentOutputType = 1 Then MsgBox "Не удалось переключить вывод в обычное окно",,"Текстовое окно результатов" ElseIf OutputType = 0 And objSPSSOptions.CurrentOutputType = 0 Then MsgBox "Не удалось переключить вывод в текстовое окно",,"Обычное окно результатов" End If End Sub