Alex_ST, Здравствуйте. Подскажите пожалуйста по коду:
[vba]
Код
Sub Auto_Open() arrFrmSetup = Array(True, False) ' начальная установка чек-боксов календаря _ arrFrmSetup(0) = True => "Ввод двойным щелчком" _ arrFrmSetup(1) = False >= "Не прятать после ввода" ' Call CalendarMenuCreate End Sub
[/vba]
Я уж было с ним разобрался и без задавания вопроса на форуме. Но мои настройки почему-то постоянно слетают. Я хочу чтобы: 1 выбиралась дата по одному клику 2 чтобы окно закрывалось после ввода даты.
Пробовал менять ключи местами и оно срабатывало. Но после сохранения и открытия заново файла все почему-то будто по новой. А я хочу в таком положении и зафиксировать. Спасибо. [moder]
Это Вы про что так хитро говорите? Конкретно напишите код, который Вы наменяли.[/moder]
Делал вот так: [vba]
Код
Sub Auto_Open() arrFrmSetup = Array(False, True) ' начальная установка чек-боксов календаря _ arrFrmSetup(0) = True => "Ввод двойным щелчком" _ arrFrmSetup(1) = False >= "Не прятать после ввода" ' Call CalendarMenuCreate End Sub
[/vba]
Сейчас опять так же сделал. Вроде все сохранилось. Либо я глючу либо из-за ошибки в коде что-то шло не так. не знаю...
Alex_ST, Здравствуйте. Подскажите пожалуйста по коду:
[vba]
Код
Sub Auto_Open() arrFrmSetup = Array(True, False) ' начальная установка чек-боксов календаря _ arrFrmSetup(0) = True => "Ввод двойным щелчком" _ arrFrmSetup(1) = False >= "Не прятать после ввода" ' Call CalendarMenuCreate End Sub
[/vba]
Я уж было с ним разобрался и без задавания вопроса на форуме. Но мои настройки почему-то постоянно слетают. Я хочу чтобы: 1 выбиралась дата по одному клику 2 чтобы окно закрывалось после ввода даты.
Пробовал менять ключи местами и оно срабатывало. Но после сохранения и открытия заново файла все почему-то будто по новой. А я хочу в таком положении и зафиксировать. Спасибо. [moder]
Sub Auto_Open() arrFrmSetup = Array(False, True) ' начальная установка чек-боксов календаря _ arrFrmSetup(0) = True => "Ввод двойным щелчком" _ arrFrmSetup(1) = False >= "Не прятать после ввода" ' Call CalendarMenuCreate End Sub
[/vba]
Насколько я понимаю указано в коде правильно Ввод по одному клику и закрытие после ввода даты. Но на практике настройки почемуто получаются ввод двумя кликами и не закрывается после ввода даты.
PS: Вроде догадался. Надо было к форме на вкладке где указываются эти галки в каждом объекте задать нужное значение тогда все ок работает.
Опять не работает как я хотел.
[vba]
Код
Sub Auto_Open() arrFrmSetup = Array(False, True) ' начальная установка чек-боксов календаря _ arrFrmSetup(0) = True => "Ввод двойным щелчком" _ arrFrmSetup(1) = False >= "Не прятать после ввода" ' Call CalendarMenuCreate End Sub
[/vba]
Насколько я понимаю указано в коде правильно Ввод по одному клику и закрытие после ввода даты. Но на практике настройки почемуто получаются ввод двумя кликами и не закрывается после ввода даты.
PS: Вроде догадался. Надо было к форме на вкладке где указываются эти галки в каждом объекте задать нужное значение тогда все ок работает.koyaanisqatsi
Сообщение отредактировал koyaanisqatsi - Четверг, 19.05.2016, 15:58
Начальную установку Вы правильно провели. Если ничего в моём файле не меняли, то должно работать. (по крайней мере на моём любимом 2003-ем точно работает, а на другие вроде тоже никто не жаловался).
Посмотрел на свой код 4-годичной давности и понял, что немного не корректно сделал :( В модуле JP_Сalendar_Frm в процедуре Private Sub UserForm_Initialize() в случае если почему-либо возникает ошибка при попытке установить гульки на чекбоксах DblClickBox и HideBox в соответствие со значениями элементов массива arrFrmSetup(0) и arrFrmSetup(1), то мало того, что опять прописываются исходные (удобные мне) значения в массив arrFrmSetup: [vba]
Код
On Error Resume Next DblClickBox = arrFrmSetup(0) 'восстановить сохранённую установку режима ввода HideBox = arrFrmSetup(1) 'восстановить сохранённую установку режима ввода If Err Then arrFrmSetup = Array(True, False): Err.Clear On Error GoTo 0
[/vba] Так ещё и сами чекбоксы остаются не установленными, а в том положении, в котором они были созданы на форме (False)... Для того, чтобы начальные установки можно было задавать в одном месте (в JP_Сalendar_Module) нужно как минимум вместо[vba]
Код
If Err Then arrFrmSetup = Array(True, False): Err.Clear
[/vba]написать [vba]
Код
If Err Then Call JP_Сalendar_Module.Auto_Open: Err.Clear
[/vba]
Но вообще-то ошибок возникать не должно, поэтому на эту установку выйти не должно. Попробуйте-ка отключить обработчик ошибок (закомментировать строку On Error Resume Next ) Если начнёт вылетать по ошибке, то сразу будет понятно, где собака порылась.
Начальную установку Вы правильно провели. Если ничего в моём файле не меняли, то должно работать. (по крайней мере на моём любимом 2003-ем точно работает, а на другие вроде тоже никто не жаловался).
Посмотрел на свой код 4-годичной давности и понял, что немного не корректно сделал :( В модуле JP_Сalendar_Frm в процедуре Private Sub UserForm_Initialize() в случае если почему-либо возникает ошибка при попытке установить гульки на чекбоксах DblClickBox и HideBox в соответствие со значениями элементов массива arrFrmSetup(0) и arrFrmSetup(1), то мало того, что опять прописываются исходные (удобные мне) значения в массив arrFrmSetup: [vba]
Код
On Error Resume Next DblClickBox = arrFrmSetup(0) 'восстановить сохранённую установку режима ввода HideBox = arrFrmSetup(1) 'восстановить сохранённую установку режима ввода If Err Then arrFrmSetup = Array(True, False): Err.Clear On Error GoTo 0
[/vba] Так ещё и сами чекбоксы остаются не установленными, а в том положении, в котором они были созданы на форме (False)... Для того, чтобы начальные установки можно было задавать в одном месте (в JP_Сalendar_Module) нужно как минимум вместо[vba]
Код
If Err Then arrFrmSetup = Array(True, False): Err.Clear
[/vba]написать [vba]
Код
If Err Then Call JP_Сalendar_Module.Auto_Open: Err.Clear
[/vba]
Но вообще-то ошибок возникать не должно, поэтому на эту установку выйти не должно. Попробуйте-ка отключить обработчик ошибок (закомментировать строку On Error Resume Next ) Если начнёт вылетать по ошибке, то сразу будет понятно, где собака порылась.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Четверг, 19.05.2016, 22:31