Листинг 1. Процедура SetState: проверка готовности данных для формирования письма
Sub SetState()
‘ Блокирует кнопку “Отправить”, пока
‘ не введена вся информация
cmdSend.Enabled = False
‘ Переустанавливает цвета меток
‘ Примечание: недостаток использования стандартных элементов
‘ управления в MSForms Designer состоит в том, что там не поддерживаются массивы элементов управления
lblState1.ForeColor = vbBlack
lblState2.ForeColor = vbBlack
lblState3.ForeColor = vbBlack
lblState4.ForeColor = vbBlack
‘ Устанавливает цвет в соответствии с текущим
‘ значением свойства State объекта EMailMerge
Select Case EMailMerge.State
Case mmStart
lblState1.ForeColor = vbRed
cmdDataRangeSelect.Enabled = False
cmdNewDraft.Enabled = Fals
Case mmGetRange
lblState2.ForeColor = vbRed
cmdDataRangeSelect.Enabled = True
cmdNewDraft.Enabled = False
Case mmGetAddressCol
lblState3.ForeColor = vbRed
cmdDataRangeSelect.Enabled = True
cmdNewDraft.Enabled = False
Case mmGetTemplate
lblState4.ForeColor = vbRed
cmdDataRangeSelect.Enabled = True
cmdNewDraft.Enabled = True
Case mmReadyToMerge
‘ Введена вся необходимая информация
‘ Разблокирует кнопку “Отправить”
cmdSend.Enabled = True
End Select
End Sub