Показать сообщение отдельно
Старый 25.01.2013, 13:50   #12  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,444 / 1781 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Gustav Посмотреть сообщение
Попробуйте принудительно "дернуть" значение ячейки после наложения на нее формата "Текстовый" (выражаюсь на VBA):

Range("A1").Value2 = "'" & Range("A1").Value2 (это известная операция добавление ведущего апострофа)

или так

Range("A1").Value2 = Range("A1").Value2 & "" (здесь просто пустая строка добавляется)
Если это делать на стороне аксапты, то получается что в качестве аргумента функции COM.Value2() я должен передать результат конкатенации его же значения с апострофом или пустой строкой, которое я и немогу получить. Замкнутый круг получается
"Чтобы продать что-нибудь ненужное, нужно сначала купить что-нибудь ненужное, а у нас денег нет"

Цитата:
Сообщение от Gustav Посмотреть сообщение
Ещё у ячейки есть свойство Range("A1").Text, но с ним надо осторожно, так как оно зависит от настроек отображения, например, от текущей ширины колонки.
К сожалению и это свойство не работает если фактически тип у ячейки значения COMVariantType::VT_R8

На самом деле непонятно откуда Excel берёт информацию о типе ячейки, потому что отображает он её корректно в текстовом виде, а хранит получается что как число