Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Excel. Узнать координату ячейки


Автор: matriza 16.7.2008, 11:50
произвожу поиск в листе таким образом
Код

MyCell: Olevariant

....

 What:='111';
 After:=EmptyParam; 
 LookIn:=xlFormulas; 
 LookAt:=xlPart; 
 SearchOrder:=xlByRows; 
 SearchDirection:=xlNext; 
 MathCase:=False; 
 MathByte:=EmptyParam; 
 SearchFormat:=False; 
 MyCell := ExcelWorksheet1.Cells.Find(What,After,LookIn,LookAt,SearchOrder,SearchDirection, MathCase,MathByte{,SearchFormat}).Activate;



каким образом можно преобразовать MyCell так чтобы переменная приняла вид как например координата в Excel С34

или

если это невозможно из за различных типов данных как можно воспользоваться переменной MyCell чтобы выделить ячейку находящуюся ниже???

Добавлено через 13 минут и 14 секунд
нашел на форуме и получилось вот так

Код

  ExcelWorksheet1.Cells.Find(What,After,LookIn,LookAt,SearchOrder,SearchDirection,MathCase,MathByte{,SearchFormat}).Activate;
  C := ExcelApplication1.ActiveCell.Column;
  R := ExcelApplication1.ActiveCell.Row;


теперь нужно перейти на ячейку С,R+1 

думаю как сделать =) не хватает знаний синтаксиса excelapplication

Автор: matriza 16.7.2008, 13:05
сделал по мегатупому но работает 

Код

const
abc: array[1..26] of char = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var
C, R: integer;
a: string;

....

  C := ExcelApplication1.ActiveCell.Column;  //координата столбца
  R := ExcelApplication1.ActiveCell.Row; //координата строки
  a := abc[C]+IntToStr(R+1); //координата ячейки
  ExcelApplication1.Range[a,EmptyParam].Select;



будет интересно узнать как это сделать по-нормальному =) 

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

ещё раз... не хватает знаний синтаксиса excelapplication

Автор: Albinos_x 16.7.2008, 17:34
http://forum.vingrad.ru/topic-84634.html

здесь в статье есть процедура получения буквы по номеру ячейки

Автор: matriza 17.7.2008, 04:26
классна =) спасибо =) статью читал но почему то не находил как получить букву по номеру ячейки

ещё вопрос... а как можно вставить картинку???

при таком коде ExcelWorksheet1.Shapes.AddPicture('c:\1.jpg',1,1,10,40,30,50);

картинка не вставляется =) и ещё а можно ли как нить это сделать через буфер как в word'е или при такой вставке нельзя будет изменить размер изображения... просто при вставке в эксель изображения оно вставляется в уменьшенном виде и нужно его растягивать...

Автор: matriza 17.7.2008, 09:16
все таки копи/паст рулит =) 

Код

  Clipboard.Assign(Image1.Picture);
  ExcelWorksheet1.Paste;
  Clipboard.Clear;
  Clipboard.Close;


и изображение в полном размере получается =)

ещё есть куча вопросов... пора создать ещё один пост чтобы не мусорить сильна =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)