|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.06.2019, 18:12 | #1 |
Регистрация: 23.03.2018
Сообщений: 8
|
VBA при переходе с Wind7 на Wind10
В региональных стандартах установлена запятая в качестве разделителя дробной части.
На листе Excel в ячейке А1 введено число 313,5 Далее имеем простой код: Private Sub UserForm_Initialize() TextBox1 = Range("A1") If IsNumeric(TextBox1) Then Label1 = "Числовой" Else Label1 = "Нечисловой" End If End Sub При запуске UserForm в Windows 7 имеем следующий результат: в ячейке А1- число 313,5; в TextBox подтянулось тоже 313,5; то есть в обоих случаях имеется ЗАПЯТАЯ; соответственно формат определен как числовой. А вот в Windows 10 (при тех же региональных стандартах) результат совершенно иной: в ячейке А1- 313,5 в TextBox- 313.5 То есть в TextBox значение подтянулось с ТОЧКОЙ! Соответственно формат определен как нечисловой В результате перехода на Windows 10 у нас полетели все экселевские макросы! Кто-то может подсказать, что с этим делать (чтобы не переписывать программы и не менять в региональных стандартах запятую на точку)? |
28.06.2019, 18:26 | #2 |
Пользователь
Регистрация: 05.10.2015
Сообщений: 39
|
tim8579, а покажите кусочек файла и форму, если не секрет У меня все мои макросы из 2007 и 2003 в десятке работают почему-то...
|
28.06.2019, 18:42 | #3 |
Регистрация: 23.03.2018
Сообщений: 8
|
pic_2- Wind 10
pic_3- Wind 7 |
28.06.2019, 19:07 | #4 |
Пользователь
Регистрация: 05.10.2015
Сообщений: 39
|
Вообще-то про файл Excel разговор был, а не gif или jpeg... Может у Вас что-то в форме в контролах есть, может какой-то еще макрос в файле безобразничает, как догадаться? По фотографии? Может нужно посмотреть в сторону форматов - как ячеек, так и TextBox, или может Clng и т.п... Пока не ясно, где и чего смотреть и искать
|
28.06.2019, 19:14 | #5 |
Регистрация: 23.03.2018
Сообщений: 8
|
Только в архиве- файл .xlsm не прикрепляется
|
28.06.2019, 19:47 | #6 |
Пользователь
Регистрация: 05.10.2015
Сообщений: 39
|
А можете рассказать, в чем именно проблема? Нужно обработать то, что находится в текстбоксе? Или в ячейке? Что во что нужно преобразовать, или что вычислить? Или чтобы IsNumeric(TextBox1) стало=True? Если последнее, то навряд ли смогу Вам помочь. TextBox: ключевое слово - "Text". А потом уже с ним производятся действия.
Или это Вам нужно: Код:
Последний раз редактировалось Igor1961; 28.06.2019 в 20:05. |
28.06.2019, 22:38 | #7 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
29.06.2019, 12:46 | #8 | |
Регистрация: 23.03.2018
Сообщений: 8
|
Цитата:
На самом деле проблема очень простая. Большое количество наших макросов построено по одному принципу. В старой Винде если в ячейке содержалось значение 313,5 , то и в TextBox подтягивалось 313,5. В десятке же в TextBox подтягивается 313.5. Из-за этого макрос не работает. Я пока нашел 2 решения: 1) частное- внести изменения в код каждого макроса. С учетом того, что макросов сотни- это не лучшая идея 2) установить в региональных стандартах точку вместо запятой. Тогда все работает. Но это придется делать на каждом компьютере в офисе. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прерывания при переходе в защищённый режим | Вопрос | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 02.05.2018 13:59 |
Предупреждение при переходе на сайт. | countess | Общие вопросы .NET | 1 | 18.10.2011 13:54 |
Ошибка при переходе по ссылке | Anubys | PHP | 2 | 05.07.2011 06:55 |
Выбор в листе при переходе | Ghennadiy | PHP | 25 | 25.12.2010 13:30 |
Refresh при переходе на страницу | nikleb | JavaScript, Ajax | 8 | 20.12.2007 18:24 |