Вниз
Скачать: CL | DM;

Выделение ячейки в Excel через OLE   Найти похожие ветки 

 
jiurajhgjhgty   (2004-01-08 19:24) [0]

А как через OLE поместить в Excel курсор на ту ячейку листа, котрая мне нужна (например A34)?
Я пишу:
...
В uses добавить ComObj
var
XLApp : variant;

Begin

XLApp:= CreateOleObject("Excel.Application");
XLApp.Workbooks.Add;
XLApp.WorkBooks[1].WorkSheets[1].range["A34"].select;{В этой строке ошибка}
End;

При выполнеии дает ошибку.Коворит что метод select неподдерживается.Пробовал тоже написать через Cells -тоже самое.Как быть?


 
Vlad ©   (2004-01-08 19:37) [1]


> Как быть?

Взять Excel, запустить на запись макрос, выделить ручками ячейку (или группу ячеек) и посмотреть в редакторе visual basic сформированный код макроса.
У меня лично твой код срабатывает.


 
jiurajhgjhgty   (2004-01-08 20:09) [2]

OK!Я нем ного перефразирую вопрос:
Есть На форму ставим ToleContainer (с вкладки System). И две кнопки Button1, Button2.И пишем код:

procedure TForm1.Button1Click(Sender: TObject);
var
begin
OleContainer1.CreateObjectFromFile("путь к любому файлу Excel",false);
OleContainer1.DoVerb(0);
OleContainer1.OleObject.WorkSheets[2].select;
OleContainer1.OleObject.WorkSheets[2].range["A34"].select;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
OleContainer1.OleObject.WorkSheets[2].range["A34"].select
end;

Последняя строка в обоих кодах идентична, но в первом случае она работает а во втором нет!!!!Почему?


 
Jedaito   (2004-01-09 01:17) [3]

при нажатии кнопки уходит фокус с контейнера

надо опять doverb(0)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
3-62993
dim-
2003-12-22 11:10
2004.01.20
как сделать рефреш чтобы меньше время тратилось


1-63222
димка
2004-01-10 20:19
2004.01.20
как проверить запущена ли программа


4-63438
Saris
2003-11-15 10:11
2004.01.20
Owner файла


3-62987
3APA3A
2003-12-24 00:53
2004.01.20
Размер Paradox овской БД


14-63310
быдло
2003-12-22 16:42
2004.01.20
дельфи - не очинь удачное средство разроботки программ




   Наверх