Я вам с екслем надоем))
как вставлять ячейки в приложении через ОЛЕ и как искать ячейку по содержимому?
Ну значиться как вставлять:
Variant book;
book = app.OlePropertyGet("Application").OlePropertyGet("ActiveWorkbook").OlePropertyGet("WorkSheets",1);
book.OlePropertyGet("Range", "A43", "B43").OleFunction("Select");
Variant Sel;
Sel = app.OlePropertyGet("Application").OlePropertyGet("Selection");
Sel.OleFunction("Copy");
book.OlePropertyGet("Range", "A44", "B44").OleFunction("Select");
Sel = app.OlePropertyGet("Application").OlePropertyGet("Selection");
Sel.OleProcedure("Insert", 2);
Sel.Clear();
Это я копирую ячейки А43:B43 в A44:B44 с сохранением форматирования первых и всеми формулами.
обрати внимание на
Sel = app.OlePropertyGet("Application").OlePropertyGet("Selection");
Sel.OleProcedure("Insert", 2);
выделенное жирным определяет направление смещения, определяется эксперементально.
Второй вопрос: в VB данный поиск выглядит как:
Cells.Find(What:="LordDoom", After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
True).Activate
Ну уж в Билдер сам переводи, дело в общем не хитрое.
по вставке ячеек - я хотел бы программно ДОБАВЛЯТЬ пустые ячейки(то есть строку добавил, все нижние подвинулись).А этот код просто копирует?
а не мог бы ты перегнать под билдер поиск, а то я чайник(правда, уже без свистка, но все же)
еще раз спасибо.
Variant book;
book = app.OlePropertyGet("Application").OlePropertyGet("ActiveWorkbook").OlePropertyGet("WorkSheets",1);
Variant Sel;
Sel = app.OlePropertyGet("Application").OlePropertyGet("Selection");
Sel.OleProcedure("Insert", 2);
Sel.Clear();
что-то вроде этого.
Второе тоже не сложно, что-то типа:
AnsiString WhatToFind;
WhatToFind = "Та самая хрень что мне надо найти";
Variant Cells;
Cells = book.OlePropertyGet("Cells").OleFunction("Find",StringToOleStr(WhatToFind),EmptyParam,xlValues,xlWhole,xlByRows,xlNext,True,False).OleProcedure("Activate");
Эта конструкция найдет в значениях ячеек и выделет первую попавшуюся ячейку в которой написано "Та самая хрень что мне надо найти".
ЗЫ: В Билдере это не тестил, но по идее работать должно, так что тесть сам, RTFM тебе в руки, MSDN навстречу, а то так и останешься "Чайником без носика" =)))))