Только не понимаю почему раньше транслятор сам переводил число, результат вычисления oVK/100 (т.е. число 0,05), в строку, а теперь перестал. И ему вдруг потребовались указания на это программиста - "Str(oVK/100)"
Блин.
Раньше было так:
dim s as string
dim d as double
d = 1.5
s = d ' s = "1.5" независимо от текущей локали!!!
Теперь:
dim s as string
dim d as double
d = 1.5
s = d ' s = "1.5" в локали en-US, и s = "1,5" в локали ru-RU
Я вот честно не понимаю, зачем я всё-таки объяснять пытался. Ведь я описал, что произошло и в чём разница, и казалось бы, понятно, что не перестал он сам переводить число, а стал это делать иначе. То есть результат
стандартного перевода теперь содержит не точку, а запятую - потому что стандартный перевод должен работать по законам текущей локали!
А указание программиста ему понадобилось для того, чтобы перевод был "нестандартным" -
независимым от локали, и результат должен быть в "нейтральной" форме (с точкой независимо от того, что в текущей локали прописано).
Раньше Ваш код
oSheet.getCellByPosition(14, oRow).setFormula("=C701*" & oVK/100)
успешно переводил
"=C701*" & oVK/100 в строку "=C701*0.05". А теперь тот же код
успешно переводит то же самое выражение в строку "=C701*0,05" - а вот
setFormula ожидает, что все числа туда будут записаны с точкой.