Иногда вставляемый текст выходит за границы текстового блока. Не могу найти решение, позволяющее подогнать (уменьшить) размер текста в текстовом блоке под его (блока) размер.
curBlock.TextFrame.AutoSize = msoAutoSizeTextToFitShape не работает. Подгоняет размер блока под размер текста.
Чую, что нужно отловить свойство размера текста (если есть такое), и циклом уменьшать шрифт пока вышеуказанное не станет меньше размеров блока, НО КАК? (с) Докторватсон.
предлагаю посчитать число знаков в тексте и размер ячейки (в пунктах кажется но не важно) Вычислить размер шрифта=размер ячейки/число знаков*(константа) константа -подобрать опытным путем в формате ячейки указать расчитанный размер шрифта Метод не идеален т.к. место занимаемое отдельной буквой (цифрой) в пунктах разное, пример "Ж" и "Е", средне статистически рабочий.
Если текст многострочный (длинный, в одну строку не влазит), - то никак (ибо при любой ширине блока он по ширине не взелет) Если же текст должен умещаться в одну строку, то всё просто делается, как вы и сказали, в цикле Примерно так:
Игорь, звездочка яркая, спасибо. К сожалению текст в несколько строк. Переносится. В итоге пришел практически к такому же решению, как предложила звездочка яркая