Уже второй раз сталкиваюсь с этим.
Но в этот раз макрос нужен именно под Excel 2007 - поэтому вынужден искать решение проблемы.
Суть проблемы:
вставляю макросом картинки из файлов на лист таким кодом:
В Excel 2003 всё работает замечательно - все картинки полностью совпадают по размерам с ячейками.
В Excel 2007 каждая из вставляемых картинов размещается чуть ниже, чем надо.
И чем ниже картинка на листе, тем больше смещение от ячейки.
Т.е. в первой строке картинки вставляются точно, в 10-й - с небольшим сдвигом вниз (около миллиметра), в 50-й - сдвиг достигает сантиметра.
Впечатление такое, что в Excel 2003 и 2007 по-разному вычисляется свойство .Top для картинов и\или ячеек.
Ведь я помещаю картинку точно в левый верхний угол ячейки:
Ещё раз замечу - в Excel 2003 подобные макросы работают идеально.
Кто что посоветует?
Но в этот раз макрос нужен именно под Excel 2007 - поэтому вынужден искать решение проблемы.
Суть проблемы:
вставляю макросом картинки из файлов на лист таким кодом:
Код |
---|
Function ВставитьКартинку(ByRef cell As Range, ByVal Pic As String) As Boolean ' если картинка вставлена успешно, возвращает TRUE On Error Resume Next: Err.Clear Dim ph As Picture: Set ph = cell.Parent.Pictures.Insert(Pic) ВставитьКартинку = Err.Number = 0 ph.Top = cell.Top: ph.Left = cell.Left: k = ph.Width / ph.Height ph.Width = cell.Width: ph.Height = ph.Width / k cell.EntireRow.RowHeight = ph.Height End Function |
В Excel 2003 всё работает замечательно - все картинки полностью совпадают по размерам с ячейками.
В Excel 2007 каждая из вставляемых картинов размещается чуть ниже, чем надо.
И чем ниже картинка на листе, тем больше смещение от ячейки.
Т.е. в первой строке картинки вставляются точно, в 10-й - с небольшим сдвигом вниз (около миллиметра), в 50-й - сдвиг достигает сантиметра.
Впечатление такое, что в Excel 2003 и 2007 по-разному вычисляется свойство .Top для картинов и\или ячеек.
Ведь я помещаю картинку точно в левый верхний угол ячейки:
Код |
---|
ph.Top = cell.Top: ph.Left = cell.Left |
Ещё раз замечу - в Excel 2003 подобные макросы работают идеально.
Кто что посоветует?