'Begin Description 'Скрипт удаляет все подписи строк и столбцов в выделенной мобильной таблице (Pivot Table). 'Условия: интересующая вас таблица должна быть выделена перед запуском скрипта. 'End Description 'НАЗНАЧЕНИЕ 'Скрипт удаляет все метки строк и столбцов в выделенной мобильной таблице 'УСЛОВИЯ 'Таблица выделена в навигаторе результатов (документе Output). 'Кроме того, окно навигатора с нужной таблицей является текущим окном назначения (Designated Window) 'ЭФФЕКТ 'Подписи строк и столбцов заменяются строками нулевой длины 'СОВЕТЫ 'Если вы - новичок в SPSS-программировании, щёлкните раздел Scripting Tips в меню 'Help. Так вы сможете получить первичную информацию по составлению и использованию скриптов. 'Для получения сведений об объектах SPSS, к которым можно получить доступ через скрипты, 'их свойствах и методах, нажмите F2. 'Для контекстной подсказки по синтаксису Sax Basic и объектам программирования SPSS, 'их свойствам и методам, подведите курсор к нужной части программного кода и нажмите F1. ' Перевод: А. Балабанов, 15.11.2008 ' Проверено: SPSS 15.0.1.1. Option Explicit 'Все переменные перед использованием должны быть явно объявлены '*********************************************************************** Sub Main 'Объявление переменных Dim objPivotTable As PivotTable Dim objItem As ISpssItem Dim bolFoundOutputDoc As Boolean Dim bolPivotSelected As Boolean 'Следующая процедура - глобальная процедура, хранящаяся в главном файле скриптов SPSS global.sbs Call GetFirstSelectedPivot(objPivotTable, objItem, bolFoundOutputDoc, bolPivotSelected) If (bolFoundOutputDoc = False) Or (bolPivotSelected = False) Then 'либо отсутствует объект output, либо таблица не была выделена Exit Sub End If 'Следующая инструкция вызывает процедуру, непосредственно очищающую подписи строк и столбцов Call BlankLabels(objPivotTable) objItem.Deactivate End Sub '********************************************************************** Sub BlankLabels(objPivotTable As PivotTable) 'Назначение: удаляет подписи всех строк и столбцов в мобильной таблице (Pivot Table) 'Условия: мобильная таблица уже активирована 'Результаты: подписи строк и столбцов будут пусты (заменятся на строки нулевой длины) 'Входные параметры: objPivotTable -- ссылка на выделенную мобильную таблицу 'Возвращает: мобильная таблица со "стёртыми" подписями строк и столбцов 'Объявление переменных для специальных объектов SPSS Dim objColLabels As ISpssLabels Dim objRowLabels As ISpssLabels Dim objDataCells As ISpssDataCells 'Объявление некоторых целочисленных индексных переменных Dim lngRowNum As Long Dim lngColNum As Long Dim lngNumCols As Long Dim lngNumRows As Long 'Установим ссылки на нужные объекты SPSS Set objDataCells = objPivotTable.DataCellArray() Set objColLabels = objPivotTable.ColumnLabelArray() Set objRowLabels = objPivotTable.RowLabelArray() lngNumCols = objColLabels.NumColumns lngNumRows = objColLabels.NumRows 'Извлечение подписей столбцов 'Метки с индексом (1,N) не существует, поэтому к ней не обращаемся For lngRowNum = 0 To lngNumRows - 1 For lngColNum = 0 To lngNumCols - 1 If Not IsNull(objColLabels.ValueAt(lngRowNum,lngColNum)) Then objColLabels.ValueAt(lngRowNum,lngColNum) = "" End If Next lngColNum Next lngRowNum lngNumCols = objRowLabels.NumColumns lngNumRows = objRowLabels.NumRows 'Извлечение меток строк 'Метки с индексом (N,1) не существует, поэтому к ней не обращаемся For lngRowNum = 0 To lngNumRows - 1 For lngColNum = 0 To lngNumCols - 1 If Not IsNull(objRowLabels.ValueAt(lngRowNum,lngColNum)) Then objRowLabels.ValueAt(lngRowNum,lngColNum) = "" End If Next lngColNum Next lngRowNum End Sub '*******************************************************************