Страницы: 1
RSS
Автоматический подбор высоты комментария.
 
Здравствуйте!  
 
Подскажите пожалуйста, можно ли и каким образом заставить Excel определять высоту комментария автоматически.  
 
Я нашел тут макрос:  
 
Sub All_Comments_Size_Change()  
Dim iComment As Comment  
For Each iComment In ActiveSheet.Comments  
iComment.Shape.TextFrame.AutoSize = True  
Next iComment  
End Sub    
 
но он меняет размеры всего комментария и, соответственно длинные строки не влезают на экран.  
 
А хотелось бы указать ширину комментария, а высоту пусть Excel подгоняет сам в зависимости от количества текста в комментарии.  
 
Например, я мспользую такой макрос:  
 
Sub Комментарии()  
Dim sh As Worksheet, com As Comment  
   For Each sh In ThisWorkbook.Worksheets  
       For Each com In sh.Comments  
           With com.Shape.TextFrame.Characters.Font  
               .Name = "Microsoft Sans Serif"  
               .Size = 8  
           End With  
           With com.Shape  
               .Width = 350  
               .Height = 230  
               .Fill.Transparency = 0.1  
               .Line.ForeColor.SchemeColor = 18  
           End With  
           With com.Shape.TextFrame  
               .MarginLeft = 5.67  
               .MarginRight = 5.67  
               .MarginTop = 5.67  
               .MarginBottom = 5.67  
           End With  
       Next com  
   Next sh  
End Sub  
 
Чему должно равняться .Height ?  
 
Спасибо!  
С уважением,  
Y_a_r
 
Здравствуйте!  
Как быть, если указанная вами ширина в комментарии недостаточна для отображения слова целиком из текста комментария? Насколько я помню Excel не умеет вставлять переносы.
 
Это сложный вопрос. Excel не имеет инструментов для расчета высоты и ширины текста, даже автоподбор высоты и ширины ячейки работает не корректно. Но для равноширинного шрифта типа Courier можно помучиться. Расчитать общее количество символов в строке комментария разбить на строки (отталкиваясь от ширины комментария) и опытным путем привязать к высоте шрифта. Но это так муторно....
 
В свое время тут выкладывали роскошную штуку (по моему ув.Казанский это сделал) - подбор ширины столбца по самому длинному слову. Может в этом направлении двинуться (применительно к комментарию, конечно)? Хотя... свойство AutoFit....
 
{quote}{login=}{date=12.09.2011 02:35}{thema=}{post}Здравствуйте!  
Как быть, если указанная вами ширина в комментарии недостаточна для отображения слова целиком из текста комментария? Насколько я помню Excel не умеет вставлять переносы.{/post}{/quote}  
 
Но ведь если указать явно ширину окна комментария, Excel не обрезает слова а переносит их на следующую строку.  
Вот я и подумал, что можно как-то сделать, чтобы он автоматически подбирал высоту этого окна....
 
>>Excel не имеет инструментов для расчета высоты и ширины текста, даже автоподбор высоты и ширины ячейки работает не корректно  
 
Как ни печально - это факт : ( А тем более объединенных ячеек...
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=nerv}{date=12.09.2011 03:17}{thema=}{post}>>Excel не имеет инструментов для расчета высоты и ширины текста, даже автоподбор высоты и ширины ячейки работает не корректно  
 
Как ни печально - это факт : ( А тем более объединенных ячеек...{/post}{/quote}  
 
Понятно, спасибо!  
 
С уважением,  
Y_a_r
 
Про объединенные ячейки хорошо обсудили здесь http://www.planetaexcel.ru/forum.php?thread_id=23911
Страницы: 1
Читают тему
Наверх