如何在有表格的地方引用草稿电子邮件?
How to reference draft email where there are forms?
用户创建了一封电子邮件,然后单击“发送”按钮,将出现一个表单,其中包含发送选项。
一种选择是发送电子邮件,收件人将在他们的手机 phone 上收到消息。当他选择这个选项时,会出现另一个表格来输入手机号码并用表格上的按钮确认提交。
接收当前草稿电子邮件时出现问题Set objMail = Application.ActiveInspector.CurrentItem
生成错误消息
Object variable or With block variable not set
没有表单代码有效。
1] 第一种形式从 ThisOutlookSession
调用
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
FormSending.Show
End Sub
ButtonSend 代码和调用模块 SendWithSms
中的主函数
Private Sub ButtonSend_Click()
Dim intDelta As Integer
Call SendWithSms
blnContinue = True
Unload Me
End Sub
2] 第二个表单在表单文件夹中,从函数 SendWithSms
中调用
'....
User_form.Show
If blnContinue = False Then
Exit Sub
End If
.Send
End With
'....
是否可以在有表格的地方识别要发送的电子邮件消息?
您可以在自定义表单中使用一个参数定义 Show
方法,该参数可以传递显示该表单的 Outlook 项目的实例,这样您就可以立即传递它:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If TypeName(Item) = "MailItem" Then
FormSending.Show Item
End If
End Sub
解决方案:
到ThisOutlookSession
添加这部分代码
Public objMail As Outlook.mailItem
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objMail As Outlook.mailItem
Dim CurrentItem As Object
Set objMail = Application.ActiveInspector.CurrentItem
FormSending.Show
End Sub
用户创建了一封电子邮件,然后单击“发送”按钮,将出现一个表单,其中包含发送选项。
一种选择是发送电子邮件,收件人将在他们的手机 phone 上收到消息。当他选择这个选项时,会出现另一个表格来输入手机号码并用表格上的按钮确认提交。
接收当前草稿电子邮件时出现问题Set objMail = Application.ActiveInspector.CurrentItem
生成错误消息
Object variable or With block variable not set
没有表单代码有效。
1] 第一种形式从 ThisOutlookSession
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
FormSending.Show
End Sub
ButtonSend 代码和调用模块 SendWithSms
Private Sub ButtonSend_Click()
Dim intDelta As Integer
Call SendWithSms
blnContinue = True
Unload Me
End Sub
2] 第二个表单在表单文件夹中,从函数 SendWithSms
'....
User_form.Show
If blnContinue = False Then
Exit Sub
End If
.Send
End With
'....
是否可以在有表格的地方识别要发送的电子邮件消息?
您可以在自定义表单中使用一个参数定义 Show
方法,该参数可以传递显示该表单的 Outlook 项目的实例,这样您就可以立即传递它:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If TypeName(Item) = "MailItem" Then
FormSending.Show Item
End If
End Sub
解决方案:
到ThisOutlookSession
添加这部分代码
Public objMail As Outlook.mailItem
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objMail As Outlook.mailItem
Dim CurrentItem As Object
Set objMail = Application.ActiveInspector.CurrentItem
FormSending.Show
End Sub