• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

загадка про Rowheight от Excel

  • Автор темы 790
  • Дата начала
Статус
Закрыто для дальнейших ответов.
7

790

Есть странноватая проблема.
Дан алгоритм (подгоняет ширину вставляемого в Excel OLE-объекта под ширину ячейки, а высоту ячейки под высоту этого объекта):

Код:
excCell := UnAssigned;
excCell := excSheetMain.Range['A1:BZ500'].Find('&#TT_scheme#', lookin:=xlValues);
if((VarCompareValue(excCell,UnAssigned)=vrEqual)and(Length(strVisSchemeTTName)>0)) then
fnExcMakeDocument:=false
else
begin
excCell.Select;
//вставить объект
s := outdir+strVisSchemeTTName+'.vsd';
excObj := excSheetMain.OLEObjects.Add(Filename:=s,
Link:=False, DisplayAsIcon :=False);
//подогнать ширину OLE-объекта к ширине ячейки
excObj.ShapeRange.LockAspectRatio := msoTrue;
e1 := excCell.Width;
excObj.ShapeRange.Width := (e1/2.8125)*49.625*2.83066;
//подогнать высоту ячейки к высоте OLE-объекта
e1 := excObj.ShapeRange.Height;
excCell.RowHeight := e1;		///////////////ошибка здесь
end;

делается это в цикле при сборке N > 1 документов. При сборке первого документа все хорошо. А на втором вылезает EOleException: Нельзя установить свойство RowHeight класса Range
И к.з. что за дела! Настройки безопасности макросов не помогают. Хелп оффиса ясно пишет, что у Range есть сво-во RowHeight с возможностью изменения его значения.

Помогите, пожалуйста, разобраться! Второй день сижу с этим глюком и никак! И самое обидное, что эта фигня запарывает весь проект в 3000 строк
 
7

790

Проблема решена: нельзя ставить RowHeight > 409.
Модератору: тему можно закрывать
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!