Страница 4 из 7
Re: Для МЕГА-програмистов, плевое дело!!!
Добавлено: 05 авг 2008, 14:13
VictorM
ЭТО ВОЗМОЖНО!!
только нужно соорудить дополнительный, невидимый лейбл, куда и помещать дату для втрого вида формата
Re: Для МЕГА-програмистов, плевое дело!!!
Добавлено: 05 авг 2008, 17:42
Бублик
Прив всем . по поводу первого документа ввода даты ручками то мешает на нижеследующую кнопку или фокус записать TextBox4.Value = Format(TextBox4.Value, "dd.mm.yyyy")
по поводу второго документа
кобинация Selection.TypeText Text:=Format(iDat, "d MMMM yyyy 'г.'") даст рузультат
14 августа 2008 'г.'
а комбинация Selection.TypeText Text:=Format(iDat,="dd.MM.yyyy") даст 14.08.2008
Re: Для МЕГА-програмистов, плевое дело!!!
Добавлено: 05 авг 2008, 21:47
Dark
Уважаемый
Бублик!!!Огромное спасибо за подсказку!!!Это как раз то, что я искал. Честно говоря по поводу
" писал(а):TextBox4.Value = Format(TextBox4.Value, "dd.mm.yyyy")
не совсем разобрался куда вводить!! Если ввожу в саму ячейку TextBox4, то ячейка не дает набрать вручную дату.
По поводу второй версии как раз то, что я искал, единственная проблемка, если сможите подсказать, дело в том, что в своей программе на одной станице UserForm я опперирую несколькими данными
дат. И если я прописываю код
" писал(а):кобинация Selection.TypeText Text:=Format(iDat, "d MMMM yyyy 'г.'") что дает рузультат 14 августа 2008 'г.', а комбинация Selection.TypeText Text:=Format(iDat,="dd.MM.yyyy") даст 14.08.2008
в коде документа нет определенной привязки к TextBox'у. Как бы это по проще объяснить??
Например, на последнем примере, если я прописываю, грубо говоря код Selection.TypeText Text:=Format(iDat, "d MMMM yyyy 'г.'") в "Датаподписания" и тот же код в "СрокДействияДоговора", и как я понял удалении из кода документа Selection.TypeText Text:=TextBox4 и Selection.TypeText Text:=TextBox28 (так как при их оставлении даты задваиваются) и выборе даты в ячейке
TextBox4 05.08.2008 он мне высветит их в самом текстовом документе в тех местах в которые я их поставил, но например при этом я бы хотел чтобы одна дата например на "Датаподписания" инициализировалась и вставлялась в данном формате при выборе даты из ячейки TextBox4, а другая вставлялась из ячейки TextBox28 в "СрокДействияДоговора". Т.е. инициализация дат шла бы из разных TextBox'ов При прописании данного кода инициализация из какой ячейки подтягивать даты фактически теряется.
Если я конечно все правильно понял!!!Незнаю понятно ли я все объяснил
Приношу извинения за мою тупость в некоторых вопросах написания макроса!!
Заранее благодарен!!! 
Re: Для МЕГА-програмистов, плевое дело!!!
Добавлено: 05 авг 2008, 22:48
Dark
Уважаемый VictorM!!! Стал тестить свою програмку и заметил 2 неприятных момента, я думаю вы сможете мне подсказать, т.к. помагали с Календарем. Расмотрим на последнем примере.
1. При нажатии на кнопку CommandButton3 и вызове Календаря при отказе в выборе даты и нажатии на крестик, автоматически в ячейку TextBox4 вставляется дата, даже если мы нажали на крестик. Можно ли этого избежать
2. Так как в программе при выборе дат я оперирую с датами выдачи паспорта и датами рождения людей, то например при выборе в одной ячейке даты рождения например 10.01.1958, выбирая в другой дату выдачи паспорта Календарь автоматически высвечивает последний период который я выбрал, то есть 1958 год, не мог бы Календарь вставать опять в положение 2008 года, а то это не совсем удобно??
Re: Для МЕГА-програмистов, плевое дело!!!
Добавлено: 06 авг 2008, 00:11
VictorM
1. Измените процедуры вызова календаря по аналогии с приведенным кодом
Код: Выделить всё
Private Sub CommandButton3_Click()
UserForm2.Show
If iDat = "0:00:00" Then 'если дата небыла выбрана
TextBox4.Value = "" 'то поле бокса пустое
Exit Sub '*
End If '*
TextBox4.Value = Format(iDat, "dd.mm.yyyy")
iDat = "0:00:00" 'очищаем переменную
'если теперь опять открыть календарь
'и просто закрыть "Х", поле бокса очистится
'если такое не понадобится - просто закомментируйте
' эту строчку
End Sub
2. Вставте в модуль формы календаря такой код
Код: Выделить всё
Private Sub UserForm_Activate()
Calendar1.Value = Date
End Sub
Re: Для МЕГА-програмистов, плевое дело!!!
Добавлено: 06 авг 2008, 09:31
Бублик
Уважаемый Dark в моем сообщение было прямо написано TextBox4.Value = Format(TextBox4.Value, "dd.mm.yyyy") для форматирования даты нужно установить на любое ниженаходящееся событие. К примеру при нажатии на кнопку CommandButton29_Click() (т.е ФИО сокращено) поле даты будь оно введено вручную, выбрано из календаря будет отформатировано в "dd.mm.yyyy"
Код
Private Sub CommandButton29_Click()
TextBox24.Value = TextBox11 + " " + TextBox22 + "." + TextBox23 + "."
TextBox4.Value = Format(TextBox4.Value, "dd.mm.yyyy")
End Sub
По второму вопросу переменную idat можно заменить на нужный textbox что и будет более правильно на случай ручного ввода дат.
Re: Для МЕГА-програмистов, плевое дело!!!
Добавлено: 06 авг 2008, 09:56
VictorM
Смотрим дальше:
Возможно ли при вводе новых данных в ячейку ComboBox10, нажатии кнопки CommandButton13 и положительном ответе, чтобы данные введенные в ячейку ComboBox10 добовлялись к основным, т.е. истользовать ячейку как БД. Т.е. сейчас ячейка ComboBox10 заполнина данными Российская Феденация, мы вводим например Япония, нажимаем CommandButton13 и оперируем уже 2-мя данными.
в Excel это делается элементарно, создаем список и пополняем его новыми значениями. А в данном случае, видимо нужно добавлять записи прямо в код VBA, что достаточно проблематично, особенно если он будет защишен.
Вообще идея связки Word - Excel достаточно интересна.
Например в книге Excel Вы можете вести архив документов по мере их оформления и т.д.
Re: Для МЕГА-програмистов, плевое дело!!!
Добавлено: 06 авг 2008, 10:32
Бублик
День добрый VictorM - посмотрите пожалуйста?

Private Sub CommandButton13_Click()
If MsgBox("Добавить гражданство?", vbOKCancel, "Добавление") = vbOK Then ComboBox10.AddItem ComboBox10.Value
End Sub
Re: Для МЕГА-програмистов, плевое дело!!!
Добавлено: 06 авг 2008, 10:43
VictorM
Бублик,
День добрый VictorM - посмотрите пожалуйста?
оно-то работает, но только до закрытия формы, а это ИМХО не есть гуд.
Эти данные где-то хранить надо, чтобы была возможность пользоваться ими в дальнейшем.
Иначе это теряет смысл.
Re: Для МЕГА-програмистов, плевое дело!!!
Добавлено: 06 авг 2008, 10:56
Бублик
VictorM согласен

хранить надо