没有问题后,收到“运行时错误'2293':Microsoft Access无法发送此电子邮件”

时间:2019-11-27 18:17:07

标签: ms-access outlook access-vba

我在“访问”表单上有一个按钮,该按钮使电子邮件排队并链接到表单上的多个字段。昨天和今天早上,该按钮正常工作。我尚未更改表单中的基础代码或任何字段,但是单击按钮时突然按钮返回了Run-time error '2293': Microsoft Access can't send this e-mail message错误消息。代码示例如下:

Private Sub cmd_Button_Click()

Dim toaddress As String
Dim ccaddress As String
Dim subject   As String
Dim message As String

toaddress = AddMailAddress(toaddress, Nz(Me.cmb_ProjectLead.Column(1), ""))
toaddress = AddMailAddress(toaddress, Nz(Me.cmb_ProjectLead2.Column(1), ""))
ccaddress = AddMailAddress(ccaddress, Nz(Me.cmb_OtherPOC.Column(1), ""))
ccaddress = AddMailAddress(ccaddress, Nz(Me.cmb_OtherPOC2.Column(1), ""))

subject = "text" & me.txb_ProjectName
message = "text" & me.txb_ProjectName & vbnewline & me.txb_ProjectLocation & vbnewline & me.txb_ProjectDescription

DoCmd.SendObject acSendNoObject, , , toaddress, ccaddress, , subject, message, True

End Sub

当我在错误消息上单击“调试”时,DoCmd.SendObject acSendNoObject, , , toaddress, ccaddress, , subject, message, True行突出显示为黄色,并带有黄色箭头。

一些注意事项可能会有所帮助: 我正在工作发布的计算机上工作,并且没有管理员权限,因此无法更改某些属性。 我必须使用具有相当严格的安全标准的VPN。 重申一遍,直到今天。实际上,对于同一条记录,它工作了片刻,然后在30秒后不起作用。

*更新:当我去除sendobject行之外的所有内容并用文本替换值时,即

,该命令起作用
Private Sub cmd_Button_Click()
DoCmd.SendObject acSendNoObject, , , "toaddress", "ccaddress", , "subject", "message", True
End Sub

当我只添加toaddressccaddress时,收到2293错误消息。

*可能有用的其他信息:此表单具有多个“电子邮件发送至”按钮以及一些“将Outlook约会发送至”按钮。直到今天早上,它们都还可以正常工作,但是现在单击它们时会生成各种错误消息。它们都使用与我的示例相同的toaddress, ccaddress, subject, message,等格式。

也链接到这些命令的公共功能如下:

Public Function AddMailAddress(address As String, newaddress As String)

    If (address = "") And (newaddress = "") Then
        Exit Function
    End If

    If address = "" Then
        address = newaddress
    Else

        If Not newaddress = "" Then
            If VBA.Right(address, 1) = ";" Then
                address = address & newaddress
            Else
                address = address & ";" & newaddress
            End If
        End If
    End If


    AddMailAddress = address

End Function

2 个答案:

答案 0 :(得分:0)

关闭数据库并重新打开数据库后,电子邮件按钮现在可以工作。仍然不知道为什么它之前给了我运行时错误。如果再次发生这种情况,我会回来添加更多见解的。

答案 1 :(得分:0)

任何时候我收到此错误,都与数据库或代码无关,这仅仅是由于我打开了一个我已忘记的当前正在编辑的Outlook项目而导致的事实。
当前在编辑模式下打开一个Outlook项目时,Access无法创建新的Outlook项目。 关闭在编辑模式下打开的所有Outlook项目,然后重试。