2015-01-23 5 views
-1

im, пытающийся отправить электронное письмо из VBScript, в конечном итоге он будет добавлен в текущий рабочий скрипт как else, если (если это возможно).отправка по электронной почте по электронной почте в VBScript - ошибка (sfile as string) line?

im получение ошибки в строке 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 = "[email protected]" 
    .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 знаний?

+0

код, который вы размещены не VBScript, строка 23 не имеет 32 символов, и есть нет 'Sub', соответствующий' End Sub'. –

+0

правый ОК. так как я могу начать создавать vbscript для отправки почты? я совершенно новичок в этом, а значит, в плохо кодированном разделе выше? – djl123

+0

Похоже, что не все коды были опубликованы. Какая строка кода точно генерирует ошибку? Не могли бы вы быть более конкретными? –

ответ

0

Посмотрите на статью Using Automation to Send a Microsoft Outlook Message. Он предоставляет пример кода и описывает все необходимые шаги для отправки электронных писем.

+0

Обратите внимание, что пример кода, представленный там, - VBA, а не VBScript. –

+0

Разница минимальна. Вы пытались запустить код? –

+0

Не нужно. Из первой строки видно, что он не будет работать как VBScript без изменений. VBScript не поддерживает ни типизированные, ни необязательные параметры. –

0

Попробуйте это: удалить функцию GetText полностью, и заменить строку

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

с

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