![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обработка ошибок Excel из Delphi. [Delphi, Windows]
Kiril © (2006-09-12 23:13:00)Имеем работоспособный макрос:
(предложен кусочек)
On Error Resume Next
Err.Clear
Cells.Find(What:=NomNumber, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
If Err.Number <> 0 Then
GoTo Start
End If
Как переложить в Delphi отслеживание ошибок VBA я не представляю, подскажите пожалуйста.
Заранее благодарен, Кирилл.
umbra (2006-09-13 13:30:00) [1]э-э-э, да, недоглядел. :( Но принцип остается тот же, только типы, возможно, надо приводить.
Сергей М. (2006-09-13 12:45:00) [2]
> umbra © (13.09.06 11:51) [4]
У автора, судя по коду, раннее связывание.
umbra (2006-09-13 11:51:00) [3]
> ExcelApplication.Workbooks[1].WorkSheets[1].Cells.Find['3'].
> Activate;
>
> Пишет: Член группы не найден.
>
методFindвозвращает диапазон, состоящий из одной ячейки, а вы указываете индекс, причем как строку. Ниже - пример, как можно искать ячейки.
function DoSomethingWithFound(range: variant, params: array of variant): integer;
var
Match, FirstFound, PrevMatch: Variant;
begin
Result := 0;
Match := Unassigned;
Match :=range.Find(What:=params[1], Lookin:=params[2]);
if VarIsEmpty(Match) then
exit
else
Firstfound := Match.Address;
repeat
Inc(Result);
PrevMatch := match;
//делаем что-то
//с найденной ячейкой.
match := Unassigned;
match := range.FindNext(Prevmatch);
until (match.Address = firstfound) or VarIsEmpty(match);
Prevmatch := Unassigned;
FirstFound := Unassigned;
end;
Сергей М. (2006-09-13 10:22:00) [4]Подсказка: Find - это функция, а не свойство.
Kiril (2006-09-13 00:47:00) [5]Делаю так:
ExcelApplication.Workbooks[1].WorkSheets[1].Cells.Find['3'].Activate;
Пишет: Член группы не найден.
Kiril (2006-09-12 23:20:00) [6]
> Cells.Find(What:=NomNumber, After:=ActiveCell, LookIn:
> =xlFormulas, _
> LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:
> =xlNext, _
> MatchCase:=False, SearchFormat:=False).Activate
Извините, у меня и поиск перенести в Делфи не получается чисто интуитивно. Подскажите где можно накопать какую либо документацию?