Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Corba";
Текущий архив: 2009.05.31;
Скачать: [xml.tar.bz2];

Вниз

Обработка ошибок Excel из Delphi.   Найти похожие ветки 

 
Kiril   (2006-09-12 23:13) [0]

Имеем работоспособный макрос:
(предложен кусочек)
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 я не представляю, подскажите пожалуйста.

Заранее благодарен, Кирилл.


 
Kiril   (2006-09-12 23:20) [1]


>    Cells.Find(What:=NomNumber, After:=ActiveCell, LookIn:
> =xlFormulas, _
>        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:
> =xlNext, _
>        MatchCase:=False, SearchFormat:=False).Activate


Извините, у меня и поиск перенести в Делфи не получается чисто интуитивно. Подскажите где можно накопать какую либо документацию?


 
Kiril   (2006-09-13 00:47) [2]

Делаю так:

ExcelApplication.Workbooks[1].WorkSheets[1].Cells.Find["3"].Activate;

Пишет: Член группы не найден.


 
Сергей М. ©   (2006-09-13 10:22) [3]

Подсказка: Find - это функция, а не свойство.


 
umbra ©   (2006-09-13 11:51) [4]


> 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 12:45) [5]


> umbra ©   (13.09.06 11:51) [4]


У автора, судя по коду, раннее связывание.


 
umbra ©   (2006-09-13 13:30) [6]

э-э-э, да, недоглядел. :( Но принцип остается тот же, только типы, возможно, надо приводить.



Страницы: 1 вся ветка

Форум: "Corba";
Текущий архив: 2009.05.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
15-1238352596
Б
2009-03-29 22:49
2009.05.31
Скачивать в ждущем режиме 2.


9-1179831261
Jkot
2007-05-22 14:54
2009.05.31
Луч и треугольник.


2-1239867280
zz14
2009-04-16 11:34
2009.05.31
позиция символа в TEdit


15-1238189404
Юрий
2009-03-28 00:30
2009.05.31
С днем рождения ! 28 марта 2009 суббота


2-1240044655
Sprinter
2009-04-18 12:50
2009.05.31
Query не сохраняет изменения !!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский