Как предложено Gaffi , используйте событие ItemSend
, чтобы отобразить пользовательскую форму, где ваши пользователи могут выбрать опцию отправки.Боюсь, я не знаю, как это сделать в Visual Studio, только в VBA.Надеюсь, вы сможете перевести этот код.
Я создал образец пользовательской формы с переключателями, чтобы можно было выбрать только одну опцию.
Единственный код формывыгрузить форму:
Private Sub CommandButton1_Click()
Unload Me
End Sub
В модуле ThisOutlookSession (встроенный модуль класса для Outlook) следующий код создает форму при отправке электронного письма, прося отправителя классифицировать электронную почту:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim frm As UserForm1
Dim chosenvalue As String
Set frm = New UserForm1
frm.Show vbModal
Select Case True
Case frm.OptionButton1.Value
chosenvalue = "PERSONAL"
Case frm.OptionButton2.Value
chosenvalue = "UNCLASSIFIED"
Case frm.OptionButton3.Value
chosenvalue = "CLASSIFIED"
Case Else ' no value chosen
MsgBox "you did not select a value. cancelling send."
Cancel = True
Exit Sub
End Select
If TypeName(Item) = "MailItem" Then
Item.Subject = Item.Subject & " [SEC=" & chosenvalue & "]"
End If
End Sub
Поскольку мы создаем форму вне модуля класса, мы можем прочитать, какой переключатель был выбран, даже после закрытия формы.В зависимости от выбора предмет изменяется.Если выбор не сделан, событие ItemSent отменяется, и пользователь вынужден снова нажать Send
и выбрать что-то в пользовательской форме.