Измените свой обработчик, чтобы использовать selectedChunk вместо выбранногоText.
on txtSizeUp
set the textSize of the selectedChunk to the textSize of the selectedChunk + 1
end txtSizeUp
И для хорошей мерой, конечно:
on txtSizeDown
set the textSize of the selectedChunk to the textSize of the selectedChunk - 1
end txtSizeDown
Edit: Обработчики выше работают только если TextSize всего selectedChunk одно и то же. Вы хотите увеличить размер текста, даже если в нем есть разные размеры. (Я пропустил эту деталь в вашем исходном вопросе.)
Проблема в том, что функция the selectedChunk
возвращает строку «mixed», когда в пределах выбора имеются разные размеры. Вот почему вы получили ошибку; Оператор set
пытался добавить mixed + 1
, несоответствие типа данных. Вот обработчик, который должен делать то, что вы хотите.
on txtSizeUp
put the effective textSize of the selectedChunk into tSize
if tSize is a number then
set the textSize of the selectedChunk to \
the effective textSize of the selectedChunk + 1
else
lock screen
put the long name of the selectedField into tFld
put word 2 of the selectedChunk into tStartChar
put word 4 of the selectedChunk into tEndChar
repeat with x = tStartChar to tEndChar
set the textSize of char x of tFld to \
the effective textSize of char x of tFld +1
end repeat
unlock screen
end if
end txtSizeUp
Будут и другие подходы, которые будут работать, но все они будут в какой-то мере охватывать выделенный текст.
к сожалению не работал – MadPink
Я проверил оба сценария успешно здесь. Можете ли вы рассказать нам больше об отказе? Появилось ли сообщение об ошибке, или вообще ничего не произошло? Вот одна вещь, чтобы проверить, находитесь ли вы в Windows: в инспекторе свойств кнопки, где вы выполняете скрипт, убедитесь, что флажок Focus With Keyboard (свойство traversalOn) НЕ проверен. Если он установлен, нажатие на кнопку приведет к удалению фокуса из поля, что сделает выделенную ячейку пустой и приведет к сбою сценария. – Devin
Я получаю ту же ошибку, о которой я упоминал первоначально. Опять же, это отлично работает, когда выделенный текст имеет тот же размер. Если я выберу несколько строк, которые отличаются по размеру, например. строка 1 - 10 баллов, строка 2 - 12 баллов, затем я получаю ошибку в ошибке левого операнда. – MadPink