首页 > 解决方案 > 将用户表单选项按钮值返回到电子邮件正文

问题描述

我有一个用户表单,我想提供信息以填充 Outlook 电子邮件的正文。

我已经能够使用组合框获得是/否答案的结果,但不能获得选项按钮的结果。

使用组合框是/否下拉菜单,我一直在根据答案定义一个变量,然后通过使用 & 引用变量在 Outlook 电子邮件的正文中使用它。

选项按钮子:

Private Sub GetAnswer()
Dim OBAnswer As String
If OBYes.Value = True Then OBAnswer = "Yes"
ElseIf OBNo.Value = True Then OBAnswer = "No"
End If
End Sub

在我的电子邮件子中,当我尝试时:
emailitem.Body = "The answer is " & OBAnswer

我得到一个编译错误:

变量未定义。

我尝试将 OBAnswer 定义为变体或OBAnswer.Text在电子邮件正文代码中使用。

标签: excelvbaemailradio-buttonuserform

解决方案


将您的 Sub 更改为 Function,然后调用该函数以获取答案。

Private Function GetAnswer() as String
    
    If OBYes.Value = True Then GetAnswer = "Yes"
    ElseIf OBNo.Value = True Then GetAnswer = "No"
    End If

End Function

'// ...
emailitem.Body = "The answer is " & GetAnswer()
'// ...

否则,如果您需要提前存储答案,只需声明一个公共变量以将字符串保存在GetAnswer方法之外并引用它。


推荐阅读