Показать сообщение отдельно
Старый 23.04.2012, 13:01   #1  
ex3em is offline
ex3em
Участник
 
38 / 19 (1) ++
Регистрация: 22.07.2008
:( Функция Replace в Excel
Реализовывал возможность замены в экселевском документе и столкнулся с следующей бедой:

X++:
void findAndReplace(str _mark,
                    str _value)
{
    Com activeWorkbook;
    Com activeSheet;
    Com activeCell;
    Com selection;
    Com cells;
    Com replace;

    ;

    activeWorkbook = m_comApplication.ActiveWorkbook();
    activeSheet    = activeWorkbook.activeSheet();
    activeCell     = m_comApplication.activeCell();
    selection      = activeCell.Select();

    cells   = activeSheet.Cells();
    replace = cells.Replace('0', '1', 2, 1, false, false, false);
на последней сточке кода вылетает ошибка:

Метод "Replace" в COM-объекте класса "Range" возвратил код ошибки 0x80020005 (DISP_E_TYPEMISMATCH), который означает: Один или несколько аргументов не могли быть преобразованы.

Аргументы функции вроде простые 2 стринга, 2 интежер и 3 булеан, на какие преобразования ругается эксель неясно

Печалька
Может кто сталкивался с подобной проблемой?