Найти ячейку в Excel по содержимому и заменить данные, находящиеся в ней
WhatToFind = "&name&";
Variant Cells;
Cells = Sh.OlePropertyGet("Cells").OleFunction("Find" ,StringToOleStr(WhatToFind),EmptyParam, xlValues,xlWhole,xlByRows,xlNext,True,False,EmptyParam);
вот этим куском кода я пытаюсь в шестой стройке найти ячейку по содержимому.Параметры вроде соответсвуют макросу в VBA, но все равно выдается ошибка. Помогите разобраться, в чем дело.
Еще хотелось бы уметь вставлять в найденную ячейку.
Спасибо.
Цитата:
Originally posted by Firewall_inc
AnsiString WhatToFind;
WhatToFind = "&name&";
Variant Cells;
Cells = Sh.OlePropertyGet("Cells").OleFunction("Find" ,StringToOleStr(WhatToFind),EmptyParam, xlValues,xlWhole,xlByRows,xlNext,True,False,EmptyParam);
вот этим куском кода я пытаюсь в шестой стройке найти ячейку по содержимому.Параметры вроде соответсвуют макросу в VBA, но все равно выдается ошибка. Помогите разобраться, в чем дело.
Еще хотелось бы уметь вставлять в найденную ячейку.
Спасибо.
AnsiString WhatToFind;
WhatToFind = "&name&";
Variant Cells;
Cells = Sh.OlePropertyGet("Cells").OleFunction("Find" ,StringToOleStr(WhatToFind),EmptyParam, xlValues,xlWhole,xlByRows,xlNext,True,False,EmptyParam);
вот этим куском кода я пытаюсь в шестой стройке найти ячейку по содержимому.Параметры вроде соответсвуют макросу в VBA, но все равно выдается ошибка. Помогите разобраться, в чем дело.
Еще хотелось бы уметь вставлять в найденную ячейку.
Спасибо.
А что за ошибка??
Если бы я знал.
Ругается что ошибка при работе с OLE, высвечивает их хедер и говорит что исключение.
Цитата:
Originally posted by Firewall_inc
))))
Если бы я знал.
Ругается что ошибка при работе с OLE, высвечивает их хедер и говорит что исключение.
))))
Если бы я знал.
Ругается что ошибка при работе с OLE, высвечивает их хедер и говорит что исключение.
В общем делаешь тестовый проект который эту ошибку повторяет. Жмешь его RAR'ом и цепляешь его сюда, я на Excel'е уже полсобаки съел точно, так что чем смогу помогу.
Поиск и позиционирование написал, а уж что писать в эту ячейку сам решишь=)))
Спасибо тебе, отче.Серьезно.
Может есть какие соображения?
Дело вот в чём:
пишу в файл, в каждую ячейку некое значение, в файле использую 8 Листов, в каждом в среднем по 15 ячеек в ряд, а записать надо порядка 4 - 10 тысяч записей (рядов, так сказать). Делаю всё в циклах типа
for (List = 1; List < 8; List++)
{
for (NumCell = 1; NumCell < 15; NumCell++)
{
for (Zapisb = 1; Zapisb < 4000; Zapisb ++)
{
...
// здесь пишу в ячейку из буфера, который по сути дела есть виртуальная копия ёксель-файла
TEMPLATE_EXCEL[List][Col][Row]
...
}
}
}
то бишь понимаете? сколько это займёт времени?
ладно если сотня строк, а если 4000?
А машина в принципе не очень слабая. Пенёк 3.Но при 500 записях занимает 2 минуты.
Есть соображения ускорить процесс ????
Спасибо.