Как вернуть ArrayList в VBScript? - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь вернуть ArrayList из функции в VBScript. Код проходит по почте и извлекает из них тему и отправителя и сохраняет их в ArrayList. Затем я устанавливаю ArrayList на имя функции, чтобы вернуть его. Но никакие возвраты не выводятся в качестве аргументов.

Я выполняю VBScript через CMD и только показывает

C: \ Users \ XXXXXX \ Documents> cscript DetailSaver.vbs Microsoft (R) Windows Script HostВерсия 5.812 Copyright (C) Microsoft Corporation. Все права защищены.


Function getDetails()

    Set outlook = createobject("outlook.application")
    Set session = outlook.getnamespace("mapi")
    session.logon

    Set inbox = session.getdefaultfolder(6).Folders("Clasification")
    Set newFolder = inbox.Folders("Devs")
    Set detailList = CreateObject("System.Collections.ArrayList")
    Dim emailSubject
    Dim emailSender
    Dim emailObject

    For Each m In newFolder.items
        If m.unread  Then 

            emailSubject = m.Subject
            emailSender = m.Sender.GetExchangeUser().PrimarySmtpAddress
            emailObject = emailSender & "|.|" & emailSubject
            detailList.Add emailObject

            m.Unread = False
        End If
    Next

    session.logoff

    Set outlook = Nothing
    Set CaseTitle = Nothing
    Set session = Nothing
    'Set detailList = Nothing

    Set getDetails = detailList

End Function

Call getDetails()

WScript.Quit



1 Ответ

0 голосов
/ 03 ноября 2019

в конце вашего скрипта команда Call скушает вывод и никуда его не отправляет. Вместо Call используйте новое имя переменной.

arrData = getDetails()

Но тогда вы хотите вывести ее значения?

For Each strArrayEntry In arrData
    'This will loop each item in the array
    Wscript.Echo strArrayEntry
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...