'Begin Description 'Скрипт заменяет метку столбца "Sig." на "p=" в любой мобильной таблице. 'Требования: перед запуском скрипта следует выделить таблицу, подлежащую изменению. 'End Description 'НАЗНАЧЕНИЕ 'Скрипт заменяет метку столбца мобильной таблицы, содержащего уровни значимости, с "Sig." на "p=". 'УСЛОВИЯ 'В окне Навигатора (результатов) выделена таблица, содержащая, по крайней мере, в одном столбце метку "Sig.". 'Это окно Навигатора (документ выдачи, Output) должно быть назначенным (Designated) 'ДЕЙСТВИЯ 'В столбцах мобильной таблицы метки "Sig." заменяются на "p=" 'СОВЕТЫ 'Если вы новичок в программировании, ознакомьтесь с разделом Scripting Tips меню 'справки (Help) редактора скриптов SPSS для получения начальных сведений. 'Для получения информации об объектах автоматизации SPSS, их методах и свойствах, 'нажмите в редакторе скриптов клавишу F2 - отобразится Object Browser - навигатор по объектам. 'Для получения контекстной справки по терминам языка Sax Basic и объектам SPSS, их свойствам ' и методам, нажмите F1. Option Explicit 'Указание на то, что все переменные должны быть явно объявлены перед использованием 'Установка констант на уровне скрипта Const cSIG As String = "Sig." Const cP_EQUAL As String = "p=" '*********************************************************************** Sub Main 'Объявление переменных Dim objPivotTable As PivotTable Dim objItem As ISpssItem Dim bolFoundOutputDoc As Boolean Dim bolPivotSelected As Boolean 'Следующий вызов - вызов глобальной (стандартной) процедуры, которая находится в файле global.sbs Call GetFirstSelectedPivot(objPivotTable, objItem, bolFoundOutputDoc, bolPivotSelected) If (bolFoundOutputDoc = False) Or (bolPivotSelected = False) Then 'признак того, что, либо нет окна Output, либо не выделена мобильная таблица Exit Sub End If Call CrosstabsSigToP(objPivotTable) 'Процедура CrosstabsSigToP (см. ниже) заменяет "Sig." на "p=" objItem.Deactivate End Sub '********************************************************************** Sub CrosstabsSigToP(objPivotTable As PivotTable) 'Назначение: изменяет метку столбца, содержащего информацию об уровнях значимости 'Условия: выделена мобильная таблица, содержащая подстроку "Sig." по крайней мере в одной метке столбца 'Действия: любая метка столбца, содержащая подстроку "Sig." будет заменена строкой "p=" 'Входные данные: выделенная мобильная таблица 'Выходные данные: мобильная таблица с изменёнными метками столбцов 'Объявление объектных переменных SPSS Dim objColLabels As ISpssLabels 'Объявление прочих переменных (целочисленных индексов) Dim lngRowNum As Long Dim lngColNum As Long Dim lngNumCols As Long Dim lngNumRows As Long Set objColLabels = objPivotTable.ColumnLabelArray() lngNumCols = objColLabels.NumColumns lngNumRows = objColLabels.NumRows 'Т.к. метка столбца может состоять из нескольких строк, пробегаемся по всем строкам таких меток For lngRowNum = 0 To lngNumRows - 1 For lngColNum = 0 To lngNumCols - 1 If InStr(objColLabels.ValueAt(lngRowNum,lngColNum), cSIG) > 0 Then objColLabels.ValueAt(lngRowNum,lngColNum) = cP_EQUAL End If Next lngColNum Next lngRowNum End Sub '*******************************************************************