Страницы: 1
RSS
VBA - Свойства рисунка в примечании.
 
Макросом добавляю рисунок к примечанию некоторой ячейки. Выглядит примерно так:  
 
Cells(tcellrow, tcellcolumn).AddComment  
Cells(tcellrow, tcellcolumn).Comment.Shape.Fill.UserPicture(screened)  
 
Проблема в том, что примечание получается стандартного размера, и не стоит галочка на свойстве "Сохранять пропорции рисунка".  
Размеры рисунка в пикселях известны.  
Как сделать так, что б размер примечания соответствовал размеру рисунка фона, и как достучаться до свойства сохранения пропорции рисунка из VBA?
 
Попробуйте  
 
With Cells(tcellrow, tcellcolumn).Comment.Shape  
   .LockAspectRatio = msoTrue 'свойство сохранения пропорции рисунка  
   .Width = 300  
   .Height = 200  
End With
 
{quote}{login=Казанский}{date=06.06.2011 03:42}{thema=}{post}Попробуйте  
 
With Cells(tcellrow, tcellcolumn).Comment.Shape  
   .LockAspectRatio = msoTrue 'свойство сохранения пропорции рисунка  
   .Width = 300  
   .Height = 200  
End With{/post}{/quote}  
 
Как не странно, но не работает. При использовании:  
With Cells(tcellrow, tcellcolumn).Comment.Shape  
.Fill.UserPicture screened  
.Width = pic_Width  
.Height = pic_Height  
.LockAspectRatio = msoTrue  
End With  
Примечание получается сжатым с боков. Т.е. неправильно передаётся как LockAspectRatio, так и  .Width и  .Height.  
При использовании же конструкции:  
With Cells(tcellrow, tcellcolumn).Comment.Shape  
.Fill.UserPicture screened  
.Width = 300  
.Height = 300*pic_Height/pic_Width 'делаем пропорцию  
.LockAspectRatio = msoTrue  
End With  
Рисунок получается сдандартнй длинны 300 и пропорции правильные, но они правильные только из-за заданных размеров Width и Height. Свойство же LockAspectRatio - всё равно не устанавливается, и при изменении размеров примечания - рисунок снова искажается.
 
Разные пропорции примечания, при двух, вроде бы одинаковых методах - исправились, после перезапуска екселя. Опытным путём получил, что размер примечания ~равен 0,75 размеру в пикселях.  
 
.LockAspectRatio = msoTrue по прежнему не работает.
Страницы: 1
Читают тему
Наверх