Вниз
Скачать: 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.03 c
2-1171391195
Lamer_5
2007-02-13 21:26
2007.03.04
Как считать значения ListView


15-1170746207
Kostafey
2007-02-06 10:16
2007.03.04
Просмотр связанных HTML-страниц из архива.


6-1159423149
fishka
2006-09-28 09:59
2007.03.04
Пользователь для IdTelnet?


15-1170844067
Gorlum
2007-02-07 13:27
2007.03.04
Про два компьютера и сеть


15-1170508476
TUser
2007-02-03 16:14
2007.03.04
Тест, неожиданно оказавшийся сложным




   Наверх