Думаю, что никак
это как пытаться положить в банку максимальное число камней. Банка не резиновая и чем крупнее камни, тем меньше их войдет. лучше всего насыпать ее под завязку песком !
можно попытаться уменьшать размер шрифта - создать в шейпшите секцию User-defined cells, и в нее вставить формулу
user.row_1 = IF(Height/TEXTHEIGHT(TheText,Width)>1,SETF("Char.Size",12 pt),SETF("Char.Size",12 pt*Height/TEXTHEIGHT(TheText,Width)))
здесь будет сравниваться высота шейпа с высотой полученного текста, если это соотношение больше единицы то высота шрифта не меняется. если меньше то домножается на коэффициент.
PS. работает не всегда, когда ну очень много текста перестает :(
†