Resize table column widths to avoid line wrapping, adapted for SPSS 16+
Это - версия скрипта Size labels to avoid line-wrapping, адаптированная к версия SPSS 16+. Важно отредактировать путь в комментарии USES в начале скрипта. Путь должен соответствовать расположению файла Globals.wwd на ВАШЕМ КОМПЬЮТЕРЕ. Если вы пользуетесь версией SPSS ниже 16, применяйте оригинальную версию скрипта.
UPD: Добавлено условие If scriptContext
, чтобы при необходимости это решение можно было использовать как Автоскрипт.
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 49 50 51 52 53 54 55 | 'Begin Description 'Скрипт масштабирует ширину столбцов для меток строк и столбцов так, чтобы метки умещались в одной строке (чтоб не было переносов). 'Условия: мобильная таблица, подлежащая обработке, должна быть выделена перед запуском скрипта. 'End Description ' А. Балабанов, 09.12.2017. ' Проверено: SPSS Statistics 24. 'ВАЖНО! '--->>> Проверьте, где в вашей системе находится файл Global.wwd и исправьте соответственно путь в следующей строке. '#Uses "C:\Program Files\PS IMAGO PRO\4\Predictive Solutions\PS IMAGO PRO\4\IBM\SPSS\Statistics\24\Samples\Global.wwd" Option Explicit Sub Main 'Объявление объектных переменных SPSS Dim objPivotTableMain As PivotTable Dim objItemMain As ISpssItem Dim bolFoundOutputDoc As Boolean Dim bolPivotSelected As Boolean 'Это условие If...Else...End If позволяет использовать скрипт и как Автоскрипт тоже. 'Просто сделайте ссылку на файл скрипта в меню Edit...Options...Scripts 'для соответствующего объекта выдачи, при появлении которого должен вызываться этот скрипт. If scriptContext Is Nothing Then 'Скрипт был вызван вручную, соответственно 'вызываем процедуры GetFirstSelectedPivot для установления ссылки на первую выделенную мобильную таблицу 'GetFirstSelectedPivot - глобальная процедура, которая находится в файле скриптов SPSS Global.wwd '(мы сделали ссылку на него в строке #Uses выше) Call GetFirstSelectedPivot(objPivotTableMain, objItemMain, bolFoundOutputDoc, bolPivotSelected) Else Set objItemMain = scriptContext.GetOutputItem() Set objPivotTableMain = objItemMain.ActivateTable bolFoundOutputDoc = True bolPivotSelected = True End If If (bolFoundOutputDoc = False) Or (bolPivotSelected = False) Then 'либо нет открытого окна выдачи, либо мобильная таблица не была выделена Exit Sub End If objPivotTableMain.ClearSelection 'Call SetPivotTableColumnLabelsToNoWrap (objPivotTableMain) 'Это отключено, т.к. масштабирование меток столбцов работает некорректно Call SetPivotTableRowLabelsToNoWrap (objPivotTableMain) ' Выход из режима активированной мобильной таблицы и завершение скрипта objItemMain.Deactivate End Sub |