| 
| 
 | Вопрос # 5 392/ вопрос решён / | 
 |  Здравствуйте, эксперты!Подскажите вот такую вещь. у меня в программе есть stringgrid, количество столбцов и строк в нем не меняется. строк 16, столбцов 11. так же есть шаблон excel.так вот как передать в excel все данные из stringgrid, но при этом что бы не нарушался внешний вид шаблона( ширена и длина ячеек). к примеру в ячейки B8:B22 передался весь 1 столбец stringgrid, с8:c22 - 2 столбец stringgrid и т.д.
 Вот так пробовал, открывает excel, но выдает ошибку :"Неверный тип переменой"
 
  
Excel:=CreateOleObject('Excel.Application');
Workbook:=Excel.Workbooks.Open(ExtractFilePath(ParamStr(0)) + 'Лист.xlsx');
Sheet:= WorkBook.Sheets[1];
Excel.Visible:=true;
excel.Range['b8:b22']:= stringgrid1.Cols[0];
|  |   Вопрос задал: Анучин (статус: Посетитель)Вопрос отправлен: 9 июня 2011, 00:37
 Состояние вопроса: решён, ответов: 1.
 |  Ответ #1. Отвечает эксперт: corban Здравствуйте, Анучин!правильно, что выскакивает ошибка: вы передаете в диапазон ячеек столбец, а не значения ячеек. Попробуйте так:
 r_Start:=7;//начальное смещение строк в екселе
 c_Start:=1;//начальное смещение столбцов в екселе
 
 for i:=1 to 16 do // столбцы
 for j:=1 to 11 do //строки
 Sheet.Cells[c_Start+i,r_Start+j]:=stringgrid1.Cell[i,j];
 
|  | Ответ отправил: corban (статус: 2-ой класс)Время отправки: 9 июня 2011, 03:25
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 0. 10 июня 2011, 02:19: Статус вопроса изменён на решённый (изменил автор вопроса — Анучин) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |