' form code with ' 2 command buttons, one for cancel Public blnCancel As Boolean Private Sub UserForm_Initialize() With ComboBox1 .AddItem "Subject 1" .AddItem "Subject 2" .AddItem "Subject 3" .AddItem "Subject 4" .AddItem "Subject 5" .AddItem "no change" End With End Sub Private Sub CommandButton1_Click() blnCancel = False lstNo = ComboBox1.ListIndex Me.Hide End Sub Private Sub CommandButton2_Click() blnCancel = True Me.Hide End Sub ' VBA for module Public lstNo As Long Public Sub ChangeSubjectOnReply() Dim objItem As Object Dim oMail As Outlook.MailItem Set objItem = GetCurrentItem() Set oMail = Application.ActiveExplorer.Selection(1).Reply oMail.Display UserForm1.Show If UserForm1.blnCancel Then Exit Sub Else ' MsgBox "user chose " & lstNo & " from combo" Select Case lstNo Case -1 oMail.subject = objItem.subject Case 0 oMail.subject = "Subject 1" Case 1 oMail.subject = "Subject 2" Case 2 oMail.subject = "Subject 3" Case 3 oMail.subject = "Subject 4" Case 4 oMail.subject = "Subject 5" End Select End If Unload UserForm1 End Sub Function GetCurrentItem() As Object Dim objApp As Outlook.Application Set objApp = Application On Error Resume Next Select Case TypeName(objApp.ActiveWindow) Case "Explorer" Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1) Case "Inspector" Set GetCurrentItem = objApp.ActiveInspector.CurrentItem End Select Set objApp = Nothing End Function