Vbscript 在outlook中自动生成电子邮件并使用VBS附加当前打开的word文档
我想编写一个VBS宏,以便在outlook中自动生成电子邮件并附加word文档。我目前有一个宏可以在excel中执行此操作,但我无法让它在Word中工作。我一辈子都搞不清楚我的“FName=”应该是什么。如有任何建议或帮助,将不胜感激。以下是我所拥有的:Vbscript 在outlook中自动生成电子邮件并使用VBS附加当前打开的word文档,vbscript,outlook,ms-word,Vbscript,Outlook,Ms Word,我想编写一个VBS宏,以便在outlook中自动生成电子邮件并附加word文档。我目前有一个宏可以在excel中执行此操作,但我无法让它在Word中工作。我一辈子都搞不清楚我的“FName=”应该是什么。如有任何建议或帮助,将不胜感激。以下是我所拥有的: Sub AutoEmail() On Error GoTo Cancel Dim Resp As Integer Resp = MsgBox(prompt:=vbCr & "Yes = Review Email
Sub AutoEmail()
On Error GoTo Cancel
Dim Resp As Integer
Resp = MsgBox(prompt:=vbCr & "Yes = Review Email" & vbCr & "No = Immediately Send" & vbCr & "Cancel = Cancel" & vbCr, _
Title:="Review email before sending?", _
Buttons:=3 + 32)
Select Case Resp
'Yes was clicked, user wants to review email first
Case Is = 6
Dim myOutlook As Object
Dim myMailItem As Object
Set otlApp = CreateObject("Outlook.Application")
Set otlNewMail = otlApp.CreateItem(olMailItem)
FName = ActiveWord & "\" & ActiveWord.Name
With otlNewMail
.To = ""
.CC = ""
.Subject = ""
.Body = "Good Morning," & vbCr & vbCr & "" & Format(Date, "MM/DD") & "."
.Attachments.Add FName
.Display
End With
Set otlNewMail = Nothing
Set otlApp = Nothing
Set otlAttach = Nothing
Set otlMess = Nothing
Set otlNSpace = Nothing
'If no is clicked
Case Is = 7
Dim myOutlok As Object
Dim myMailItm As Object
Set otlApp = CreateObject("Outlook.Application")
Set otlNewMail = otlApp.CreateItem(olMailItem)
FName = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
With otlNewMail
.To = ""
.CC = ""
.Subject = ""
.Body = "Good Morning," & vbCr & vbCr & " " & Format(Date, "MM/DD") & "."
.Attachments.Add FName
.Send
'.Display
'Application.Wait (Now + TimeValue("0:00:01"))
'Application.SendKeys "%s"
End With
'otlApp.Quit
Set otlNewMail = Nothing
Set otlApp = Nothing
Set otlAttach = Nothing
Set otlMess = Nothing
Set otlNSpace = Nothing
'If Cancel is clicked
Case Is = 2
Cancel:
MsgBox prompt:="No Email has been sent.", _
Title:="EMAIL CANCELLED", _
Buttons:=64
End Select
End Sub
可能有点晚了,但我想解决它以备将来使用。 您希望将活动文档作为文件名(FName) 在通过outlook发送当前文档之前,您可能还希望保存该文档,否则您将在不进行更改的情况下发送该文档
Function SaveDoc()
ActiveDocument.Save
End Function
我希望这将帮助其他人,因为问题中的代码在编写类似脚本时对我帮助很大。可能有点晚了,但我想解决它以备将来使用。 您希望将活动文档作为文件名(FName) 在通过outlook发送当前文档之前,您可能还希望保存该文档,否则您将在不进行更改的情况下发送该文档
Function SaveDoc()
ActiveDocument.Save
End Function
我希望这将帮助其他人,因为问题中的代码在编写类似脚本时对我帮助很大