Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Я вам с екслем надоем))

1.8K
14 апреля 2003 года
Firewall_inc
48 / / 10.04.2003
как вставлять ячейки в приложении через ОЛЕ и как искать ячейку по содержимому?
358
15 апреля 2003 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by Firewall_inc
как вставлять ячейки в приложении через ОЛЕ и как искать ячейку по содержимому?


Ну значиться как вставлять:
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
Ну уж в Билдер сам переводи, дело в общем не хитрое.

1.8K
15 апреля 2003 года
Firewall_inc
48 / / 10.04.2003
спасибо огромное.
по вставке ячеек - я хотел бы программно ДОБАВЛЯТЬ пустые ячейки(то есть строку добавил, все нижние подвинулись).А этот код просто копирует?
а не мог бы ты перегнать под билдер поиск, а то я чайник(правда, уже без свистка, но все же)
еще раз спасибо.
358
15 апреля 2003 года
moonmike
423 / / 18.10.2002
Ну просто добавлять еще проще:
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 навстречу, а то так и останешься "Чайником без носика" =)))))
1.8K
16 апреля 2003 года
Firewall_inc
48 / / 10.04.2003
мерси)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог