我将文件保存到Windows Temp文件夹中,以将其添加为我的电子邮件中的附件。由于某种原因,始终添加一些单词" temp"来文件名。它如何到达那里以及如何防止它?
注意!ThisWorkbook.Sheets("Other Data").Range("AK2").Value
中有项目编号不包含单词" temp"
这是我保存文件的代码:
Fname = Environ("temp") & _
ThisWorkbook.Sheets("Other Data").Range("AK2").Value & ", " & _
"review" & ".pdf"
这是Outlook代码:
Sub CreateNewOutlookAppointment()
Dim olApp As Outlook.Application
Dim olAppt As Outlook.AppointmentItem
Dim myInspector As Outlook.Inspector
Set olAppt = Nothing
Set olApp = Outlook.Application
Set olAppt = olApp.CreateItem(olAppointmentItem)
Set myInspector = olAppt.GetInspector
myInspector.Activate
With olAppt
.Subject = "review" & ", " & ThisWorkbook.Sheets("Other Data").Range("P23").Value
ThisWorkbook.Sheets("Templates").Range("M202:M223").Copy
.Display
.GetInspector.WordEditor.Windows(1).Selection.PasteAndFormat wdPASTERTF
.Attachments.Add Environ$("Temp") & _
ThisWorkbook.Sheets("Other Data").Range("AK2").Value & ", " & _
"review" & ".pdf"
End With
End Sub
Environ$("Temp")
返回临时折叠器的名称,例如 C:UsersxyzAppDataLocalTemp
。您的单元格(AK2
(可能包含要给文件的文件名。
当您加入这两个部分时,您会得到诸如C:UsersxyzAppDataLocalTempMyFile
之类的东西 - 因此,您可以在文件夹Local
中创建一个带有名称TempMyFile
的文件(或机器上的temp的父母文件夹(。
您只需要在(temp-(路径和文件名之间添加""
-字符。
类似这样的东西
语法
expression.Add( _Source_ , _Type_ , _Position_ , _DisplayName_ )
仅当邮件项目以丰富的文本格式而设置为OlbyValue时,此参数才适用:该名称显示在检查器对象中的附件或查看附件的属性时。如果邮件项目是纯文本或HTML格式,则使用源参数中的文件名显示附件。
Sub AddAttachment()
Dim myItem As Outlook.MailItem
Dim myAttachments As Outlook.Attachments
Set myItem = Application.CreateItem(olMailItem)
Set myAttachments = myItem.Attachments
myAttachments.Add "C:Test.doc", _
olByValue, 1, "Test"
myItem.Display
End Sub