【发布时间】:2020-09-18 15:44:37
【问题描述】:
我有一个以 Excel 表格开头的宏,将通过 Outlook 电子邮件发送给同事。
我一直在尝试使用 Ron de Bruin 链接将已保存的签名添加到 Outlook 电子邮件,但它显示“未找到文件”。 https://www.rondebruin.nl/win/s1/outlook/signature.htm
-签名未设置为默认值,因为我保存了多个签名。
-当我执行 Debug.Print 时,路径匹配它应该是什么
C:\Users\cday\AppData\Roaming\Microsoft\Signatures\Inventory Report.htm
Sub Setup_Email()
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Set OutApp = CreateObject("Outlook.application")
Set OutMail = OutApp.CreateItem(olMailItem)
Dim StrSignature As String
Dim SPath As String
SPath = Environ("appdata") & "\Microsoft\Signatures\Inventory Report.htm"
Debug.Print SPath
StrSignature = Getsignature(SPath)
With OutMail
.Display
.to = "People"
.CC = "More People"
.Subject = ThisWorkbook.Name
.Attachments.Add ActiveWorkbook.FullName
.HTMLBody = StrSignature
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Function Getsignature(ByVal sFile As String) As String
Dim fso As Object
Dim ts As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2) **"File Not Found"**
Getsignature = ts.readall
ts.Close
End Function
【问题讨论】: