Это - версия скрипта 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