VB Script - неопределенная переменная - PullRequest
0 голосов
/ 23 февраля 2011

Я получаю 'переменная не определена', я предполагаю, что это как-то связано с областью действия переменных в vbscript, но мои знания ограничены этим.

Я знаю загрузкуадреса электронной почты работают и фактическая рассылка, потому что я проверил их отдельно.Я пытаюсь перебрать список адресов электронной почты и отправить файл журнала каждому ..

Любая дополнительная информация будет отличной!

Во-первых, в верхней части находится массив varфайла:

dim emails()

function getEmailAddresses()

    dim objFSO
    dim objConfigFile
    dim strLine
    dim iCounter

    const ForReading = 1, ForWriting = 2, ForAppending = 8  

    set objFSO = createobject("Scripting.FileSystemObject")
    set objConfigFile = objFSO.OpenTextFile("emailAddresses.config", ForReading)

    iCounter = 0

    do while not objConfigFile.AtEndOfStream
        redim preserve emails(iCounter)
        strLine = trim(objConfigFile.ReadLine)
        emails(iCounter) = strLine
        iCounter = iCounter + 1
    loop

    objConfigFile.Close

end function

function writetolog(strLogtext) 
    dim objFSO
    dim objLogfile

    const ForReading = 1, ForWriting = 2, ForAppending = 8

    set objFSO = createobject("Scripting.FileSystemObject")
    set objLogfile = objFSO.OpenTextFile("xxx.log", ForAppending, true) 
    objLogfile.Writeline now() & "  -  " & strLogText   
    objLogfile.Close 

    call EmailLogFile(strLogText)

end function


function EmailLogFile(bodyText)

    for each emailAddress in emails

        set objEmail = CreateObject("CDO.Message")
        objEmail.From = "File.Mover@xxxxxxx.xxx"

        objEmail.To = emailAddress
        objEmail.Subject = "File Move Log" 
        objEmail.Textbody = bodyText
        objEmail.Configuration.Fields.Item _
            ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        objEmail.Configuration.Fields.Item _
            ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
        "xxxxxx" 
        objEmail.Configuration.Fields.Item _
            ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
        objEmail.Configuration.Fields.Update
        objEmail.Send

   next
end function

Ответы [ 2 ]

0 голосов
/ 23 февраля 2011

Не похоже, что вы звоните getEmailAddresses() в любом месте, поэтому ваш файл не будет прочитан, а ваш массив emails не будет заполнен

0 голосов
/ 23 февраля 2011

В какой строке находится неопределенная переменная? Или как называется вар?

В любом случае, strLogText нигде не определен. Кроме того, если это классическая страница ASP, поместите оператор Option Explicit вверху.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...