Re[8]: Уж извините за назойливость
От: Elena_ Россия  
Дата: 01.04.05 20:51
Оценка:
Здравствуйте, morok, Вы писали:

M>В общем достаточно неудобная вещь. Получается нельзя напрямую использовать результат одной функции(Name.RefersTo()) как аргумент другой функции(Application.GetRange(Name.RefersTo()), сначала необходимо результат преобразовать, а потом уже использовать. Мне кажется это какая-то недоработка компании MS. Хотя может я просто не в курсе чего-то.


Мне надо еще немного посмотреть, но мне всегда казалось, что, например, проблемы на несвязанных диапазонах с RefersToRange возникают именно в Russian версии, именно из-за чехарды с разделителями диапазонов — , или ; Сейчас под рукой нет English версии, чтобы проверить, думаю, что в ней не должно быть проблем с несвязанными диапазонами?

Этот вариант я проверила на Excel XP — Russian — вроде бы работало, похоже, что зависит от версии Excel'я, где-то еще и кавычки всплывают
E_>    _bstr_t sAddr1 = r1->GetAddress(_variant_t(true), _variant_t(true),Excel::xlA1, _variant_t(true) );
E_>    _bstr_t sAddr2 = r2->GetAddress(_variant_t(true), _variant_t(true),Excel::xlA1, _variant_t(true) );
E_>    _bstr_t sAddr = _bstr_t("=") + sAddr1 + _bstr_t(";") + sAddr2;
        
E_>    NamePtr name = pBook->GetNames()->Add(_variant_t("TestName"), sAddr);
E_>    RangePtr foundRange = pXL->GetRange( _variant_t("TestName") );


Вообще-то не замечала, что с кавычками тоже проблемы, надо покопать, с запятой и точкой с запятой точно все время вылезают коллизии. Недавно попадалось здесь
Автор: Леонид
Дата: 28.01.05
Пользователь — друг программиста!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.