Страницы: 1
RSS
Как закрыть книгу VBA
 
Private Sub CommandButton1_Click()  
Dim i As Byte  
Dim iU As Byte  
Dim iV As Byte  
iU = Range("U1")  
iV = Range("V1")  
   With ListBox1  
   For i = 0 To iU - 1  
       If .Selected(i) = True Then  
iAdress = Range("F" & i + 2)  
   Dim Ex As New Excel.Application  
       Ex.Workbooks.Open iAdress ', LoadOption:=xlXmlLoadImportToList  
       Ex.Visible = False  
           iNameXMLfile = Ex.ActiveWorkbook.Name  
           Ex.ActiveWorkbook.Sheets.Application.Range("A2:N333").Copy  
    MsgBox iNameXMLfile  
    Sheets("Пути").Range("z333").Select  
    ActiveSheet.Paste  
   Application.CutCopyMode = False  
      Application.Workbooks(iNameXMLfile).Close  
       End If  
   Next i  
   End With  
  End Sub  
 
Добрый день Открываю макросом ХМЛ файл, он открываеться, происходит копирование, но неполучаеться его закрыть, переменная iNameXMLfile принимает значение "80020_3803100520_20100802_1_3800000900.xml" это реальное имя открытого файла,    
 
вот такая ошибка вылазиит Subscript out of range (Error 9)
Оружие не убивает Человека! Человек убивает Человека!!!
 
Попробуйте так:  
 
Private Sub CommandButton1_Click()  
   Dim i As Byte, iU As Byte, iV As Byte  
   iU = Val(Range("U1")): iV = Val(Range("V1"))  
   With ListBox1  
       For i = 0 To iU - 1  
           If .Selected(i) = True Then  
               iAdress = Range("F" & i + 2)  
               Application.ScreenUpdating = False  
               Dim wb As Workbook: Set wb = Workbooks.Open(iAdress)  
               wb.Worksheets(1).Range("A2:N333").Copy _  
                       ThisWorkbook.Worksheets("Пути").Range("z333")  
               wb.Close False  
           End If  
       Next i  
   End With  
End Sub
 
Спасибо..., вроде работает, завтра буду окончательно тестить...  
Еще раз спасибо!
Оружие не убивает Человека! Человек убивает Человека!!!
Страницы: 1
Читают тему
Наверх