Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

AndVGri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
'Создаём класс с содержимым
Option Explicit
Private pTextbox As MSForms.TextBox
Private TextboxValue As String
 
Public Sub Init(ByVal withText As MSForms.TextBox)
    Set ptexbox = withtextbox
    TextboxValue = pTextbox.Value
End Sub
 
Public Function Changed() As Boolean
    Changed = VBA.StrComp(TextboxValue, pTextbox.Value, VbCompareMethod.vbTextCompare) = 0
End Function
 
Public Function OldValue() As String
    OldValue = TextboxValue
End Function
 
Public Function NewValue() As String
    NewValue = pTextbox.Value
End Function
 
Public Function Name() As String
    Name = pTextbox.Name
End Function
 
'Где-то в коде формы или где-то ещё есть процедура инициализации записи.
'Установка элементов управления в соответствии с записью
Option Explicit
Private TextBoxCollection As VBA.Collection
Private Sub Инициализация_записи()
    Dim pControl As MSForms.Control
    Dim nextInfo As TextBoxInfo
    '.... код ввода данных в элементы управления
    TextBoxCollection = New VBA.Collection
    For Each pControl In Me.Controls
        If TypeOf pControl Is MSForms.TextBox Then
            Set nextTextbox = New TextBoxInfo
            nextInfo.Init pControl
            TextBoxCollection.Add nextInfo
        End If
    Next pControl
End Sub
 
'Где-то в коде есть процедура проверки элементов управления на изменения,
'внесённые пользователем
Private Sub Проверка_изменения()
    Dim nextInfo As TextBoxInfo
    '.... какие-то ещё проверки
    For Each nextInfo In TextBoxCollection
        If nextInfo.Changed Then
            MsgBox "Изменено с " & nextInfo.OldValue & " на " & nextInfo.NewValue, VbMsgBoxStyle.vbOKOnly + VbMsgBoxStyle.vbInformation, nextInfo.Name
        End If
    Next nextInfo
End Sub
 

Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 03:05 28-10-2011
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru