Переменная с использованием десятичной запятой вместо десятичной точки

Я использую Excel VBA некоторое время, и я столкнулся с проблемой, с которой я никогда не сталкивался раньше. Я использую компьютер elses, который настроен как польский, поэтому десятичный разделитель установлен в запятую. Но даже когда у меня был настроен мой компьютер аналогичным образом, в прошлом у меня не было никаких проблем.

Этот текущий проект создает чертеж в Visio.

Так,

У меня есть переменная типа double, которая рассчитывается как pgeWidth = 550 / 1.4

Я бы ожидал, что VBA будет вычислять pageWidth = 392.857... Однако то, что VBA делает, это pgeWidth = 392,857... Если я поместил break и проверил значение pgeWidth, он отображает значение с помощью разделителя запятой. Затем pgeWidth устанавливается на свойство ширины страницы в Visio, которое считает, что оно должно быть 392857 …. мм шириной, что явно дает ошибку.

Почему VBA использует десятичный разделитель вместо запятой?

Если вы хотите передать значение дальше с помощью точки, рассмотрите преобразование переменной в строку и затем замените запятую точкой:

 pgeWidth = replace(CStr(pgeWidth), ",",".") 
Давайте будем гением компьютера.