Почему мой цикл "прилипает" к первому файлу? - PullRequest
0 голосов
/ 01 июля 2019

Приведенный ниже код запрашивает у пользователя выбор файлов, затем код «делает вещи» для каждого выбранного файла.Часть кода окна сообщения (которая существует только для целей устранения ошибок) правильно отображает каждый выбранный файл, однако часть кода «добавить лист» пытается добавить лист только в одну из выбранных рабочих книг для каждойитерация цикла (поэтому, если пользователь выбирает 4 файла, он пытается добавить лист «Тест» в один из файлов 4 раза).

Dim myFile As Variant
Dim wi As Integer
Dim wb As Workbook
Dim fOpen As Boolean

myFile = Application.GetOpenFilename(MultiSelect:=True)
If Not IsArray(myFile) Then
    Exit Sub
Else

    For wi = LBound(myFile) To UBound(myFile)
        'If workbook already open, activate. otherwise open it
        On Error Resume Next
        Set wb = Workbooks(Dir(myFile(wi)))
        fOpen = Not (wb Is Nothing)
        On Error GoTo 0     ' or point to error handler

        If Not fOpen Then
            Set wb = Workbooks.Open(myFile(wi)) 'if file is not open, open it

        End If
        wb.Activate 
        MsgBox myFile(wi)
        wb.Sheets.Add.Name = "TEST"
     next wi
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...