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

Обращение к ячейки excel по имени   Найти похожие ветки 

← →
Barsky ©   (2007-01-09 14:35) [0]

Проблема следующая.
Есть файлик xls, в нем одна ячейка имеет имя "sum52502".

Задача - считать значение. Не получается. Выдает ошибку

Project Project1.exe raised exception class EOleSysError with message "Член группы не найден". Process stopped. Use Step or Run to continue.

Причем присвоить значение по имени ячейки выходит без проблем. Как сделать?

 function GetXls():integer;
 var
   XLApp : variant;
   sum: double;
   i: integer;
 begin
 if FileExists(Edit3.Text) then
   begin
   sum:=0;
   XLApp:= CreateOleObject("Excel.Application");
   XLApp.Workbooks.open(Edit3.Text);
   XLApp.Visible:=true;
               XLApp.Workbooks[1].WorkSheets[2].Range("sum52502"):=123;
   showmessage(XLApp.Workbooks[1].WorkSheets[2].Range("sum52502"));


← →
Array ©   (2007-01-09 14:42) [1]

Range - ???  может всётаки Cells


← →
Array ©   (2007-01-09 14:43) [2]

тьфу, используйте .Range("sum52502").Value - или чтото типа валуэ там должно быть, а то Вы в  шоу месадже пытаетесь вывести саму ячейку а не её значение


← →
Barsky ©   (2007-01-09 14:44) [3]

В другом языке все через Range работало. Через Cells та же песня.


← →
Barsky ©   (2007-01-09 14:49) [4]

Пробывал с value и без - все едино =(


← →
KSergey ©   (2007-01-09 14:49) [5]

Автору: Можете привести гарантированно рабочий код на VBA? Приведите, плиз.


← →
Barsky ©   (2007-01-09 14:53) [6]

Вот на VBA

Range("G20").Value = Range("sum52502").Value


← →
KSergey ©   (2007-01-09 15:03) [7]

Это не весь код.
Это относительно листа или чего-то еще
Надо весь, чтобы понять где это Range("G20") реально живет


← →
Barsky ©   (2007-01-09 15:06) [8]

Если я не ошибаюсь, то Range только относительно листа бывает.

Это весь код.
Записал макрос. Потом стер все что там было и написал этот код - работает.

При выполнении ячейка "G20" принимает значение ячейки с именем "sum52502".


← →
Barsky ©   (2007-01-09 15:49) [9]

Еще идеи есть? Я уже голову сломал =(


← →
umbra ©   (2007-01-09 16:02) [10]


> Range("sum52502")

а не
Range["sum52502"] ?


← →
Barsky ©   (2007-01-09 16:09) [11]

Не пробывал, но сейчас попытался - ошибка

Project Project1.exe raised exception class EOleException with message "OLE error 800A03EC". Process stopped. Use Step or Run to continue.



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

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



Память: 0.47 MB
Время: 0.027 c
15-1171025896
IMHO
2007-02-09 15:58
2007.03.04
Вспоминая прошлое


8-1151854637
ma5ter
2006-07-02 19:37
2007.03.04
Нужна помощь по работе с FastLib


15-1170955450
vain
2007-02-08 20:24
2007.03.04
Напомните, пожалуйста.


11-1149004549
parovoZZ
2006-05-30 19:55
2007.03.04
Стоит ли ставить сабж


15-1171273167
vasIZmax
2007-02-12 12:39
2007.03.04
Save.... Good




   Наверх