![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обращение к ячейки excel по имени [D7, Win2k]
Barsky © (2007-01-09 14:35:00)Проблема следующая.
Есть файлик 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'));
Barsky (2007-01-09 16:09:00) [1]Не пробывал, но сейчас попытался - ошибка
Project Project1.exe raised exception class EOleException with message 'OLE error 800A03EC'. Process stopped. Use Step or Run to continue.
umbra (2007-01-09 16:02:00) [2]
> Range('sum52502')
а не
Range['sum52502']?
Barsky (2007-01-09 15:49:00) [3]Еще идеи есть? Я уже голову сломал =(
Barsky (2007-01-09 15:06:00) [4]Если я не ошибаюсь, то Range только относительно листа бывает.
Это весь код.
Записал макрос. Потом стер все что там было и написал этот код - работает.
При выполнении ячейка "G20" принимает значение ячейки с именем "sum52502".
KSergey (2007-01-09 15:03:00) [5]Это не весь код.
Это относительно листа или чего-то еще
Надо весь, чтобы понять где это Range("G20") реально живет
Barsky (2007-01-09 14:53:00) [6]Вот на VBA
Range("G20").Value = Range("sum52502").Value
Barsky (2007-01-09 14:49:00) [7]Пробывал с value и без - все едино =(
KSergey (2007-01-09 14:49:00) [8]Автору: Можете привести гарантированно рабочий код на VBA? Приведите, плиз.
Barsky (2007-01-09 14:44:00) [9]В другом языке все через Range работало. Через Cells та же песня.
Array (2007-01-09 14:43:00) [10]тьфу, используйте .Range('sum52502').Value - или чтото типа валуэ там должно быть, а то Вы в шоу месадже пытаетесь вывести саму ячейку а не её значение
Array (2007-01-09 14:42:00) [11]Range - ??? может всётаки Cells