Приветствую!!! Помогите решить. Недавно взял на вооружение надстройку The J-Walk Enhanced Data Form по адресу: https://web.archive.org/web/20190214023127/http://spreadsheetpage.com/index.php/dataform/home/ (на данный момент сайт автора выкупили). При вводе через данную форму дробных чисел типа 5,7 12,2 0,4 и похожих на лист вносятся данные формата Дата 9/1/1965. Предварительная настройка форматов ячеек таблицы не спасает. После ввода данных надстройка меняет формат ячейки. Я так понимаю что форма ввода автоматически распознает форматы и меняет их. Как отключить автоматическое присвоение формата ячеек не знаю
Можно перехватить макросом событие ввода данных и преобразовать, как нужно, но это уже не про форму
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Семен Фабриков написал: После ввода данных надстройка меняет формат ячейки. Я так понимаю что форма ввода автоматически распознает форматы и меняет их.
Посмотрел текст надстройки. В части учета региональных настроек - ошибка на ошибке.
Надстройка копирует форматы ячеек из предыдущей заполненной строки. При присвоении значения свойства Value ячейке Excel может изменить формат ячейки (подробности в этой теме)
Попробуйте в модуле формы FormMain закомментировать (удалить) указанные ниже строки:
Код
If IsRealDate(ctl.Text) Then
If IsDate(DateValue(ctl.Text)) Then
TestCell.Value = CDate(ctl.Text)
End If
Else
TestCell.Value = ctl.Text
End If
Уже нет (см. #1). Кстати, автор - гуру Джон Уокенбах (no comments). Замечено - некоторым программистам тяжело осознать, что есть другие локали, кроме en_US.
у него в книгах полно неточностей, однобокого представления иняормации (говорит, делайте вот так, а о том, что очень часто это может дать НЕ тЕ результаты не говорит) и откровенных ошибок Мыльный разрекламированный пузырь, одним словом. А я его советовал поначалу…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
написал: Попробуйте в модуле формы FormMain закомментировать (удалить) указанные ниже строки:
Спасибо за совет. Закоментировал и вставил строку. Не помогло. Буду учить свойства Value ячейки Excel. Может есть что-то похожее на Enhanced Data Form но с правильным переносом значений на лист. Стандартная Форма... не справляется с 124 столбцами.
ссылка ведёт сюда же Как вариант - закажите форму по всем своим хотелкам в платной ветке
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Да! Заработало. Наверное я что то не так сделал. Есть нюанс: надстройка после закрытия файла отключается (пропадает); после переходов кнопками навигации Назад и Вперед ячейки, с форматами отображения значений Общий и Число, заполненные значением 0,4 (с запятой) меняются на 0.4 (с точкой). Зато с форматом отображения значений Текст все выходит отлично за что Вам большое спасибо. Даже в таком состоянии надстройка меня пока устроит.
Сколько будет стоить перенастроить иле переделать форму под наши регионы. А то у них есть, а у нас нет...
написал: значением 0,4 (с запятой) меняются на 0.4 (с точкой)
Оказывается программа не только неправильно пишет, но и неправильно читает (переносит значения из ячеек в форму). Корень зла - в конструкции (кстати, интересная задача для любителей Excel):
Код
ctl = CurrentCell
(здесь ctl - TextBox, CurrentCell - ячейка). В этом месте исправил, смотрите (проверяйте надстройку) дальше.
После закрытия файла (но не Excel) настройка должна быть на месте: Menu / Данные и в конце ленты J-Walk...