23.04.2012, 13:01 | #1 |
Участник
|
Функция 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 булеан, на какие преобразования ругается эксель неясно Печалька Может кто сталкивался с подобной проблемой? |
|
23.04.2012, 13:24 | #2 |
Участник
|
Преобразование забыли.
Вот так попробуйте X++: replace = cells.Replace('0', '1', 2, 1, COMVariant::createFromBoolean(false), COMVariant::createFromBoolean(false), COMVariant::createFromBoolean(false));
__________________
If it ain't broke, take it apart and find out why (с) |
|
|
За это сообщение автора поблагодарили: Zabr (2), ex3em (1). |
23.04.2012, 15:33 | #3 |
Участник
|
|
|
|
|