如何解决我需要支持来清除VBA宏中Outlook中的Pdf文件附件的运行时错误
此带有Pdf附件的自动电子邮件的代码可在多台笔记本电脑上使用,但不能在我的笔记本电脑上使用。我正在使用相同版本的excel和Windows。任何人都可以支持这个问题
Sub SendWorksheet_AsPDFAttachment_OutlookEmail()
Dim objFileSystem As Object
Dim strTempFile As String
Dim objOutlookApp As Outlook.Application
Dim objMail As Outlook.MailItem
'Specify the worksheet name
Sheets("Sheet1").Activate
Sheets("Sheet1").Range("A1:O36").Select
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
strTempFile = Sheets("Sheet1").Range("B50").Value
'export the specific worksheet as PDF
Selection.ExportAsFixedFormat Type:=xlTypePDF,Filename:=strTempFile,Quality:=xlQualityStandard,IncludeDocProperties:=True,IgnorePrintAreas:=False,OpenAfterPublish:=False
'Call SaveAsPDF_Click
'Create a new email
Dim rng As Range
'Dim imagerange As Range
Set rng = Worksheets("Email Body").Range("A3:I23").SpecialCells(xlCellTypeVisible)
'Set imagerange = Worksheets("Email Body").Range("A26:I45").SpecialCells(xlCellTypeVisible)
Set objOutlookApp = CreateObject("Outlook.Application")
Set objMail = objOutlookApp.CreateItem(olMailItem)
objMail.Subject = "Letter of Appreciation from Office of CGPD"
objMail.To = Sheets("Sheet1").Range("B49").Value
'Attach the PDF file
objMail.Attachments.Add strTempFile
objMail.HTMLBody = RangetoHTML(rng)
'objMail.Display '==>display this email
objMail.send '==>to send this email
'Delete the temp PDF file
objFileSystem.DeleteFile (strTempFile)
End Sub
解决方法
这是必须附加完整路径 ...
的问题如果strTempFile = Sheets("Sheet1").Range("B50").Value
不包含路径,则Selection.ExportAsFixedFormat
将起作用,它将在当前目录中创建文件。
objMail.Attachments.Add strTempFile
需要完整的合格文件路径。
因此,strTempFile
必须完全合格。我的意思是,尝试下一种方法:
strTempFile = thisWorbook.Path & "\" & Sheets("Sheet1").Range("B50").Value
如果可行,您可以找到其他任何临时路径(临时,文档等)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。