Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Вариант 1.
Код: Выделить весь код
' Cписок баз
MasNames = Array("Base1", _
                "Base2", _
                "Base3")

Mas_1 = LBound(MasNames)
Mas_N = UBound(MasNames)

For Mas_i = Mas_1 To Mas_N
    Call ArcBackups(MasNames(Mas_i))
Next

Sub ArcBackups(BaseName)
    MsgBox BaseName
End Sub
Существующий скрипт надо оформить в виде подпрограммы (у меня условно ArcBackups), и дописать вызывающую её часть, которая будет передавать в эту подпрограмму в виде аргумента имя базы. Как вариант, список имён можно определить в массиве в этой вызывающей процедуре. Достоинство варианта - не надо держать еще какой-то текстовый файл.

Вариант 2. Идеология та же, но, по Вашей идее, список баз храним в текстовом файле
Код: Выделить весь код
SpisNames = "Z:\я16062417.txt"   'Cписок баз

Set FSO = CreateObject("Scripting.FileSystemObject")

If FSO.FileExists(SpisNames) Then
    Set FSpis = FSO.OpenTextFile(SpisNames, 1)
    Do
        iString = FSpis.ReadLine
        If Len(Trim(iString)) <> 0 Then Call ArcBackups(iString)
    Loop While Not FSpis.AtEndOfStream
    FSpis.Close
End If

Sub ArcBackups(BaseName)
    MsgBox BaseName
End Sub
Что в текстовом файле Z:\я16062417.txt
Код: Выделить весь код
Base1
Base2
Base3


Base4
Base5

Base6
Base7




Base222


Вариант 3. И всё-таки я бы предпочел сделать эту работу в cmd - скрипте, ИМХО, надёжнее получится. Но, не зная подробностей Вашего задания, его не привожу.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 24-06-2016 в 17:40.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:51, 24-06-2016 | #2