как исправить ошибку программы excel

Рейтинг: -3Ответов: 1Опубликовано: 02.07.2023

введите сюда описание изображенияPrivate Sub Open_xml(Path, FileName, Sheet, Cell As String) Dim strTargetFile As String Dim wb strTargetFile = Path & "" & FileName Set wb = Workbooks.OpenXML(FileName:=strTargetFile, LoadOption:=xlXmlLoadImportToList) wb.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(Sheet).Range(Cell) wb.Close False End Sub введите сюда описание изображения

Ответы

▲ 0

В режиме отладки (вторая картинка) нажать Ctrl+G и в открывшемся окне напечатать ?strTargetFile и нажать Enter. Будет напечатано содержимое этой переменной. Там должен быть полный путь к файлу. Убедится, что он правильный, то есть по этому пути есть этот файл, включая расширение. Для этого лучше всего выкопировать путь от начала и до последнего "\" перед имененм файла и вставить его в строку адреса Проводника Windows. Судя по сообщению об ошибке, расширение файла в strTargetFile - "AGRO_Settings". А какое расширение у файла в папке?

Сказал же, проверьте расширение. Есть файл "XDSD.TQBR.AGRO_Settings.tmp" и "XDSD.TQBR.AGRO_Settings.xml", но нет файла "XDSD.TQBR.AGRO_Settings".

Проверьте в коде место, откуда вызывается процедура "Private Sub Open_xml(Path, FileName, Sheet, Cell As String)". В FileName попадает имя файла без расширения. Нужно разобраться, почему.

Или просто расширение добавить, например, так:

Private Sub Open_xml(Path, FileName, Sheet, Cell As String)
  Dim strTargetFile As String
  Dim wb
  strTargetFile = Path & "" & FileName & ".xml" ' <<<<<< добавлено & ".xml"
  Set wb = Workbooks.OpenXML(FileName:=strTargetFile, LoadOption:=xlXmlLoadImportToList)
  wb.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(Sheet).Range(Cell)
  wb.Close False
End Sub