在VBScript中发送基于Outlook的电子邮件 - 错误(sfile as string)行?

时间:2015-01-23 10:22:51

标签: email vbscript outlook

我试图从VBScript发送电子邮件,如果(如果可能的话),它最终会作为else添加到当前正在运行的脚本中。

我在第23行第32个字符处收到错误?

  Dim outobj, mailobj
  Dim strFileText
  Dim objFileToRead

  Set outobj = CreateObject("Outlook.Application")
  Set mailobj = outobj.CreateItem(0)
  strFileText = GetText("C:\test\test 2.txt")

    With mailobj
    .To = "user@user.com"
    .Subject = "Testmail"
    .Body = strFileText
    .Display
  End With

  Set outobj = Nothing
  Set mailobj = Nothing

End Sub

Function GetText(sFile as String) As String
   Dim nSourceFile As Integer, sText As String
   nSourceFile = FreeFile
   Open sFile For Input As #nSourceFile
   sText = Input$(LOF(1), 1)
   Close
   GetText = sText
End Function

我需要添加什么才能让第23行工作,脚本最终完成我需要的工作,我已经从其他地方复制了大部分脚本,原因是缺乏VBscripting知识?

2 个答案:

答案 0 :(得分:0)

查看Using Automation to Send a Microsoft Outlook Message文章。它提供了示例代码,并描述了发送电子邮件所需的所有步骤。

答案 1 :(得分:0)

尝试此操作:完全删除GetText功能,然后替换

strFileText = GetText("C:\test\test 2.txt")

Set fso = CreateObject("Scripting.FileSystemObject")
strFileText = fso.OpenTextFile("C:\test\test 2.txt").ReadAll