Outlook 2016禁止按Access中的代码发送附件

时间:2018-07-11 17:51:22

标签: vba ms-access outlook

我在OL2016和Access2016中有一个奇怪的行为,当使用相同的VBA代码时,在OL2010和Access2010中不会发生。

在我的开发机上(仍为Office2010),我创建一个PDF文件,

DoCmd.OutputTo acOutputReport, strRptName, acFormatPDF, strAttachment

多年来一直有效。

然后我使用一个函数

Function Mail_senden(strSender As String, strTO As String, Optional strBCC As 
String, Optional strBetreff As String, Optional strAttachment As String, 
Optional strBody As String)
Dim olApp As Object
Dim strDatei As String
Dim oAccount As Outlook.Account
Dim oMail As Outlook.MailItem
Dim strAccountName As String

strAccountName = TempVars!AccountName

Set olApp = CreateObject("Outlook.Application")
For Each oAccount In olApp.Session.Accounts
    If oAccount.DisplayName = strAccountName Then 'Use a certain account!! 
             Set oMail = olApp.CreateItem(olMailItem)

             With oMail

                 .SendUsingAccount = oAccount
                 .To = strTO
                 .BCC = strBCC
                 .Subject = strBetreff
                 .HTMLBody = strBody
                 .ReadReceiptRequested = False
                    If strAttachment > "" Then
                      .Attachments.Add strAttachment
                    End If
                 .Display

             End With
       End If
  Next oAccount
Set olApp = Nothing
End Function 

这将打开一个新邮件项目,并在OL2010中添加“发件人”,“到”,“主题”以及附件,但在OL2016中不添加。

如果我不带任何附件使用上面的函数,那么它在OL2016中也可以使用。

OL2016中是否有任何设置可以防止每个代码从另一个应用程序添加附件?

到目前为止我找不到任何东西。 感谢您的帮助。

迈克尔

编辑:

大部分问题我都找到了,但是我不知道它来自哪里以及如何改善它:

似乎在机器上,在我使用Office 2016(Win10 64位HE)的计算机上,附加的文件“未就绪”或找不到。

创建PDF的代码如下:

strAttachment = Environ("Userprofile") & "\Desktop\" & strAttachmentName
DoCmd.OutputTo acOutputReport, strRptName, acFormatPDF, strAttachment

例如,当我使用已经创建的可用PDF时

strAttachment = "C:\Users\MAK\Desktop\Offer_AN-18009.pdf"

有效!!! 将创建一个邮件项目并添加此附件。在我的开发机(Office2010)上,它可以完美地工作。

因此,文件创建速度可能很慢,或者其他任何原因都阻止了此邮件项目的创建。 奇怪的是,strAttachment是可选的。因此,如果此字符串为空,则无论如何都应创建邮件项目。 但是什么也没有发生,没有错误消息,没有新的邮件项目。

DoEvents 

在创建PDF命令后也没有帮助。

任何想法,如何解决此问题?

编辑:

我发现了愚蠢的错误: 在创建的PDF中,我使用的徽标不是“已发布”而是“嵌入”,并且在Header_format事件中分配了此计算机上不存在的路径。

我只是想知道没有发生错误... 问题解决了!

0 个答案:

没有答案