Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Импорт/Экспорт xml → xls → txt - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Импорт/Экспорт xml → xls → txt (Макросы/Sub)
Импорт/Экспорт xml → xls → txt
Валерьянка Дата: Пятница, 21.03.2014, 15:42 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте форумчане!
Задача следующая импортировать массивы определенные тегами из xml в xls
Далее преобразовать полученные данные в txt

Есть макрос, работает, но имеется проблема импортируется только первая строка массива

Подскажите пожалуйста что поправить в макросе чтобы было счастье :)

файлы прилагаю

[vba]
Код
Sub GetXML()
Dim arFiles, x, lRow&, c As Range
arFiles = Application.GetOpenFilename("XML files,*.xml", , "Выберите файлы", , True)
If Not IsArray(arFiles) Then Exit Sub
lRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
For Each x In arFiles
     For Each c In [a1:c1].SpecialCells(xlCellTypeConstants)
         Cells(lRow, c.Column) = FindTag(x, (c))
     Next
     lRow = lRow + 1
Next
End Sub
Private Function FindTag$(ByRef ff, ByRef sTag$)
With CreateObject("Microsoft.XMLDOM")
.async = "false"
.Load (ff)
FindTag = .getElementsByTagName(sTag).Item(0).Text
End With
End Function
[/vba]

Спасибо!
К сообщению приложен файл: 0024398.xml (4.9 Kb) · GetXML.xls (50.0 Kb)
 
Ответить
СообщениеЗдравствуйте форумчане!
Задача следующая импортировать массивы определенные тегами из xml в xls
Далее преобразовать полученные данные в txt

Есть макрос, работает, но имеется проблема импортируется только первая строка массива

Подскажите пожалуйста что поправить в макросе чтобы было счастье :)

файлы прилагаю

[vba]
Код
Sub GetXML()
Dim arFiles, x, lRow&, c As Range
arFiles = Application.GetOpenFilename("XML files,*.xml", , "Выберите файлы", , True)
If Not IsArray(arFiles) Then Exit Sub
lRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
For Each x In arFiles
     For Each c In [a1:c1].SpecialCells(xlCellTypeConstants)
         Cells(lRow, c.Column) = FindTag(x, (c))
     Next
     lRow = lRow + 1
Next
End Sub
Private Function FindTag$(ByRef ff, ByRef sTag$)
With CreateObject("Microsoft.XMLDOM")
.async = "false"
.Load (ff)
FindTag = .getElementsByTagName(sTag).Item(0).Text
End With
End Function
[/vba]

Спасибо!

Автор - Валерьянка
Дата добавления - 21.03.2014 в 15:42
Hugo Дата: Пятница, 21.03.2014, 18:00 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
Наощупь так может быть:
[vba]
Код
Option Explicit

Sub GetXML()
     Dim arFiles, x, lRow&, c As Range, a()
     arFiles = Application.GetOpenFilename("XML files,*.xml", , "Выберите файлы", , True)
     If Not IsArray(arFiles) Then Exit Sub
     lRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
     For Each x In arFiles
         For Each c In [a1:c1].SpecialCells(xlCellTypeConstants)
             a = FindTag(x, (c))
             Cells(lRow, c.Column).Resize(UBound(a), 1) = a
         Next
         lRow = lRow + 1
     Next
End Sub

Private Function FindTag(ByRef ff, ByRef sTag$)
     Dim a(), x As Object, i&
     With CreateObject("Microsoft.XMLDOM")
         .async = "false"
         .Load (ff)
         Set x = .getElementsByTagName(sTag)
         ReDim a(1 To x.Length, 1 To 1)

         For i = 0 To UBound(a) - 1
             a(i + 1, 1) = x.Item(i).Text
         Next
         FindTag = a
     End With
End Function
[/vba]
Неуверен насчёт x.Length...


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНаощупь так может быть:
[vba]
Код
Option Explicit

Sub GetXML()
     Dim arFiles, x, lRow&, c As Range, a()
     arFiles = Application.GetOpenFilename("XML files,*.xml", , "Выберите файлы", , True)
     If Not IsArray(arFiles) Then Exit Sub
     lRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
     For Each x In arFiles
         For Each c In [a1:c1].SpecialCells(xlCellTypeConstants)
             a = FindTag(x, (c))
             Cells(lRow, c.Column).Resize(UBound(a), 1) = a
         Next
         lRow = lRow + 1
     Next
End Sub

Private Function FindTag(ByRef ff, ByRef sTag$)
     Dim a(), x As Object, i&
     With CreateObject("Microsoft.XMLDOM")
         .async = "false"
         .Load (ff)
         Set x = .getElementsByTagName(sTag)
         ReDim a(1 To x.Length, 1 To 1)

         For i = 0 To UBound(a) - 1
             a(i + 1, 1) = x.Item(i).Text
         Next
         FindTag = a
     End With
End Function
[/vba]
Неуверен насчёт x.Length...

Автор - Hugo
Дата добавления - 21.03.2014 в 18:00
Валерьянка Дата: Пятница, 21.03.2014, 18:11 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
Hugo, не работает :(
 
Ответить
СообщениеHugo, не работает :(

Автор - Валерьянка
Дата добавления - 21.03.2014 в 18:11
Hugo Дата: Пятница, 21.03.2014, 18:18 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
Каким образом не работает? У меня работает.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеКаким образом не работает? У меня работает.

Автор - Hugo
Дата добавления - 21.03.2014 в 18:18
doober Дата: Пятница, 21.03.2014, 18:58 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
А так?
[vba]
Код
Sub GetXML()
     Dim arFiles, x, lRow&, c
     arFiles = Application.GetOpenFilename("XML files,*.xml", , "Выберите файлы", , True)
     If Not IsArray(arFiles) Then Exit Sub
     lRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
     For Each x In arFiles
         c = FindTag(x)
         Cells(lRow, 1).Resize(UBound(c), 3) = c
         lRow = lRow + UBound(c)
     Next
End Sub

Private Function FindTag(ByRef ff)
     Dim objListOfNodes As Object, XPath As String, RZ, i As Integer
     With CreateObject("Microsoft.XMLDOM")
         .async = "false"
         .Load (ff)
         XPath = "//СведенияОполучателе"
         Set objListOfNodes = .SelectNodes(XPath)
         i = 0
         ReDim RZ(1 To objListOfNodes.Length, 1 To 3)
         For Each objNode In objListOfNodes
             i = i + 1
             For Each oElem In objNode.ChildNodes

                 Select Case oElem.BaseName
                 Case "ФИО"
                     RZ(i, 1) = oElem.Text
                 Case "НомерСчета"
                     RZ(i, 2) = oElem.Text
                 Case "СуммаКдоставке"
                     RZ(i, 3) = Val(oElem.Text)
                 End Select

             Next
         Next

     End With
     FindTag = RZ
End Function

[/vba]


 
Ответить
СообщениеА так?
[vba]
Код
Sub GetXML()
     Dim arFiles, x, lRow&, c
     arFiles = Application.GetOpenFilename("XML files,*.xml", , "Выберите файлы", , True)
     If Not IsArray(arFiles) Then Exit Sub
     lRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
     For Each x In arFiles
         c = FindTag(x)
         Cells(lRow, 1).Resize(UBound(c), 3) = c
         lRow = lRow + UBound(c)
     Next
End Sub

Private Function FindTag(ByRef ff)
     Dim objListOfNodes As Object, XPath As String, RZ, i As Integer
     With CreateObject("Microsoft.XMLDOM")
         .async = "false"
         .Load (ff)
         XPath = "//СведенияОполучателе"
         Set objListOfNodes = .SelectNodes(XPath)
         i = 0
         ReDim RZ(1 To objListOfNodes.Length, 1 To 3)
         For Each objNode In objListOfNodes
             i = i + 1
             For Each oElem In objNode.ChildNodes

                 Select Case oElem.BaseName
                 Case "ФИО"
                     RZ(i, 1) = oElem.Text
                 Case "НомерСчета"
                     RZ(i, 2) = oElem.Text
                 Case "СуммаКдоставке"
                     RZ(i, 3) = Val(oElem.Text)
                 End Select

             Next
         Next

     End With
     FindTag = RZ
End Function

[/vba]

Автор - doober
Дата добавления - 21.03.2014 в 18:58
Hugo Дата: Пятница, 21.03.2014, 19:11 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
Сергей, значит .Length - это то, что нужно? Я просто не спец в этих xml... :(


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеСергей, значит .Length - это то, что нужно? Я просто не спец в этих xml... :(

Автор - Hugo
Дата добавления - 21.03.2014 в 19:11
RAN Дата: Пятница, 21.03.2014, 19:11 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А я так сочинил :)
[vba]
Код
Sub GetXML()
     Dim arFiles, x, lRow&, cv, arr
     arFiles = Application.GetOpenFilename("XML files,*.xml", , "Выберите файлы", , True)
     If Not IsArray(arFiles) Then Exit Sub
     lRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
     For Each x In arFiles
         cv = [a1:c1].Value
         arr = FindTag(x, cv)
     Next
     Range("A" & lRow).Resize(UBound(arr), 3) = arr
End Sub
Private Function FindTag(ByRef ff, ByVal sTag)
     Dim col As New Collection
     Dim a(1 To 3), k&, arr, i&, j&
     With CreateObject("Microsoft.XMLDOM")
         .async = "false"
         .Load (ff)
         Do While Err = 0
             On Error Resume Next
             a(1) = .getElementsByTagName(sTag(1, 1)).Item(k).Text
             a(2) = .getElementsByTagName(sTag(1, 2)).Item(k).Text
             a(3) = .getElementsByTagName(sTag(1, 3)).Item(k).Text
             k = k + 1
             If Err = 0 Then col.Add a(), CStr(k)
         Loop
         ReDim arr(1 To col.Count, 1 To 3)
         For i = 1 To col.Count
             For j = 1 To 3
                 arr(i, j) = col.Item(i)(j)
             Next
         Next
     End With
     FindTag = arr
End Function
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА я так сочинил :)
[vba]
Код
Sub GetXML()
     Dim arFiles, x, lRow&, cv, arr
     arFiles = Application.GetOpenFilename("XML files,*.xml", , "Выберите файлы", , True)
     If Not IsArray(arFiles) Then Exit Sub
     lRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
     For Each x In arFiles
         cv = [a1:c1].Value
         arr = FindTag(x, cv)
     Next
     Range("A" & lRow).Resize(UBound(arr), 3) = arr
End Sub
Private Function FindTag(ByRef ff, ByVal sTag)
     Dim col As New Collection
     Dim a(1 To 3), k&, arr, i&, j&
     With CreateObject("Microsoft.XMLDOM")
         .async = "false"
         .Load (ff)
         Do While Err = 0
             On Error Resume Next
             a(1) = .getElementsByTagName(sTag(1, 1)).Item(k).Text
             a(2) = .getElementsByTagName(sTag(1, 2)).Item(k).Text
             a(3) = .getElementsByTagName(sTag(1, 3)).Item(k).Text
             k = k + 1
             If Err = 0 Then col.Add a(), CStr(k)
         Loop
         ReDim arr(1 To col.Count, 1 To 3)
         For i = 1 To col.Count
             For j = 1 To 3
                 arr(i, j) = col.Item(i)(j)
             Next
         Next
     End With
     FindTag = arr
End Function
[/vba]

Автор - RAN
Дата добавления - 21.03.2014 в 19:11
Валерьянка Дата: Пятница, 21.03.2014, 19:12 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
Hugo, runtime error 91 object variable or with block variable not set
 
Ответить
СообщениеHugo, runtime error 91 object variable or with block variable not set

Автор - Валерьянка
Дата добавления - 21.03.2014 в 19:12
Валерьянка Дата: Пятница, 21.03.2014, 19:14 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
doober, то что надо :D спасибо!
 
Ответить
Сообщениеdoober, то что надо :D спасибо!

Автор - Валерьянка
Дата добавления - 21.03.2014 в 19:14
Валерьянка Дата: Пятница, 21.03.2014, 19:17 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
RAN, всё работает :D спасибо!!!
 
Ответить
СообщениеRAN, всё работает :D спасибо!!!

Автор - Валерьянка
Дата добавления - 21.03.2014 в 19:17
Hugo Дата: Пятница, 21.03.2014, 19:19 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
Ааа, в Set xxx проскочили лишние xx на форум... Нужно было x! Исправил выше...


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеАаа, в Set xxx проскочили лишние xx на форум... Нужно было x! Исправил выше...

Автор - Hugo
Дата добавления - 21.03.2014 в 19:19
doober Дата: Пятница, 21.03.2014, 21:37 | Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Цитата
Сергей, значит .Length - это то, что нужно?

Да Игорь,добавь в референсы XML v3.0
Увидишь все свойства.Другими версиями лучше не пользоваться,особенно на восьмерке.


 
Ответить
Сообщение
Цитата
Сергей, значит .Length - это то, что нужно?

Да Игорь,добавь в референсы XML v3.0
Увидишь все свойства.Другими версиями лучше не пользоваться,особенно на восьмерке.

Автор - doober
Дата добавления - 21.03.2014 в 21:37
Валерьянка Дата: Четверг, 12.06.2014, 21:12 | Сообщение № 13
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
Hugo, doober, RAN, очень прошу помочь разобраться с файлом XML.

Нужно также импортировать данные в excel, почему то ни один выше указанный макрос с этим файлом работать не хочет.

Помогите пожалуйста!!!

Пример файла во вложении, нужно вытащить из него все данные в таблицу
К сообщению приложен файл: 0512129.xml (1.3 Kb) · Conv_XML.xls (56.5 Kb)


Сообщение отредактировал Валерьянка - Четверг, 12.06.2014, 21:14
 
Ответить
Сообщение Hugo, doober, RAN, очень прошу помочь разобраться с файлом XML.

Нужно также импортировать данные в excel, почему то ни один выше указанный макрос с этим файлом работать не хочет.

Помогите пожалуйста!!!

Пример файла во вложении, нужно вытащить из него все данные в таблицу

Автор - Валерьянка
Дата добавления - 12.06.2014 в 21:12
doober Дата: Четверг, 12.06.2014, 23:52 | Сообщение № 14
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
И не будет работать.
Почему?
А потому,что хозяйка макросов до настоящей поры не изучила структуру XML файлов.
Нет таких тегов ИдФайл ТипИнф ВерсПрог ТелОтпр ДолжнОтпр ФамОтпр КолДок ВерсФорм,
Это атрибуты нода с тегом Файл
Раз уж вы занялись программированием ,установите себе Notepad++,
и в цвете увидите структуру файла XML.
К сообщению приложен файл: 4444182.jpg (31.7 Kb)


 
Ответить
СообщениеИ не будет работать.
Почему?
А потому,что хозяйка макросов до настоящей поры не изучила структуру XML файлов.
Нет таких тегов ИдФайл ТипИнф ВерсПрог ТелОтпр ДолжнОтпр ФамОтпр КолДок ВерсФорм,
Это атрибуты нода с тегом Файл
Раз уж вы занялись программированием ,установите себе Notepad++,
и в цвете увидите структуру файла XML.

Автор - doober
Дата добавления - 12.06.2014 в 23:52
Валерьянка Дата: Пятница, 13.06.2014, 00:12 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
doober, спасибо, сейчас установлю буду изучать yes
 
Ответить
Сообщениеdoober, спасибо, сейчас установлю буду изучать yes

Автор - Валерьянка
Дата добавления - 13.06.2014 в 00:12
Валерьянка Дата: Пятница, 13.06.2014, 11:02 | Сообщение № 16
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
doober, подскажите пожалуйста, возможно ли программно получить массив имен nodes и их значения из файла, если заранее неизвестно количество атрибутов этих элементов? Т.к. файлы могут быть и с разной структурой. Или нужно каждый Node указать в макросе?

И как вообще это сделать? %)
 
Ответить
Сообщениеdoober, подскажите пожалуйста, возможно ли программно получить массив имен nodes и их значения из файла, если заранее неизвестно количество атрибутов этих элементов? Т.к. файлы могут быть и с разной структурой. Или нужно каждый Node указать в макросе?

И как вообще это сделать? %)

Автор - Валерьянка
Дата добавления - 13.06.2014 в 11:02
doober Дата: Пятница, 13.06.2014, 11:46 | Сообщение № 17
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Цитата
И как вообще это сделать?

Так.

Первая строка заполняется тегами из xml файла через одну ячейку
Файл пусто Документ пусто СвБанк пусто СвБанк пусто АдрМНКО пусто СвНП пусто НПФЛ пусто ФИОФЛ пусто СвСчет пусто Открыт

[vba]
Код
Sub GetXML()
      Dim arFiles, x, lRow&, c
      arFiles = Application.GetOpenFilename("XML files,*.xml", , "Выберите файлы", , True)
      If Not IsArray(arFiles) Then Exit Sub
      lRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
      lLastCol = ActiveSheet.Range("iv1").End(xlToLeft).Column
      ArrCol = ActiveSheet.Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(1, lLastCol))
       lRow = 2
        
      For Each x In arFiles
      For n = 1 To lLastCol Step 2
          c = Findattributes(x, ArrCol(1, n))
          Cells(lRow, n).Resize(UBound(c), UBound(c, 2)) = c
          Next
      Next
End Sub

Private Function Findattributes(ByRef ff, Fl)
      Dim objListOfNodes As Object, XPath As String, RZ, i As Integer
      With CreateObject("Microsoft.XMLDOM")
          .async = "false"
          .Load (ff)
          XPath = "//" & Fl
          Set objListOfNodes = .SelectNodes(XPath)
          If objListOfNodes.Length > 0 Then
          ReDim RZ(1 To objListOfNodes(0).Attributes.Length, 1 To 2)
          For i = 0 To objListOfNodes(0).Attributes.Length - 1
          RZ(i + 1, 1) = objListOfNodes(0).Attributes(i).Name
          RZ(i + 1, 2) = objListOfNodes(0).Attributes(i).Value
          Next
          End If
            
      End With
      Findattributes = RZ
End Function
[/vba]

PS:Борода у Хоттабыча сильно поредела




Сообщение отредактировал doober - Пятница, 13.06.2014, 15:14
 
Ответить
Сообщение
Цитата
И как вообще это сделать?

Так.

Первая строка заполняется тегами из xml файла через одну ячейку
Файл пусто Документ пусто СвБанк пусто СвБанк пусто АдрМНКО пусто СвНП пусто НПФЛ пусто ФИОФЛ пусто СвСчет пусто Открыт

[vba]
Код
Sub GetXML()
      Dim arFiles, x, lRow&, c
      arFiles = Application.GetOpenFilename("XML files,*.xml", , "Выберите файлы", , True)
      If Not IsArray(arFiles) Then Exit Sub
      lRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
      lLastCol = ActiveSheet.Range("iv1").End(xlToLeft).Column
      ArrCol = ActiveSheet.Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(1, lLastCol))
       lRow = 2
        
      For Each x In arFiles
      For n = 1 To lLastCol Step 2
          c = Findattributes(x, ArrCol(1, n))
          Cells(lRow, n).Resize(UBound(c), UBound(c, 2)) = c
          Next
      Next
End Sub

Private Function Findattributes(ByRef ff, Fl)
      Dim objListOfNodes As Object, XPath As String, RZ, i As Integer
      With CreateObject("Microsoft.XMLDOM")
          .async = "false"
          .Load (ff)
          XPath = "//" & Fl
          Set objListOfNodes = .SelectNodes(XPath)
          If objListOfNodes.Length > 0 Then
          ReDim RZ(1 To objListOfNodes(0).Attributes.Length, 1 To 2)
          For i = 0 To objListOfNodes(0).Attributes.Length - 1
          RZ(i + 1, 1) = objListOfNodes(0).Attributes(i).Name
          RZ(i + 1, 2) = objListOfNodes(0).Attributes(i).Value
          Next
          End If
            
      End With
      Findattributes = RZ
End Function
[/vba]

PS:Борода у Хоттабыча сильно поредела

Автор - doober
Дата добавления - 13.06.2014 в 11:46
Валерьянка Дата: Пятница, 13.06.2014, 16:27 | Сообщение № 18
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
doober, Вы не Хоттабыч, Вы реально Бог VBA, Я до сих пор не могу понять как это возможно такое создать и как Вы это делаете, реально всё что Вы делаете работает hands
Я в восторге)))) clap


Сообщение отредактировал Валерьянка - Пятница, 13.06.2014, 16:30
 
Ответить
Сообщениеdoober, Вы не Хоттабыч, Вы реально Бог VBA, Я до сих пор не могу понять как это возможно такое создать и как Вы это делаете, реально всё что Вы делаете работает hands
Я в восторге)))) clap

Автор - Валерьянка
Дата добавления - 13.06.2014 в 16:27
Валерьянка Дата: Четверг, 19.06.2014, 17:50 | Сообщение № 19
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
doober, извините, пожалуйста, за глупый вопрос, а как можно обойти
[vba]
Код
    arFiles = Application.GetOpenFilename("XML files,*.xml", , "Выберите файлы", , True)
      If Not IsArray(arFiles) Then Exit Sub
[/vba]
? %)
Мне надо чтобы файл импортировался напрямую по одному адресу:
[vba]
Код
Thisworkbook.patch & "/test.xml"
[/vba]


Сообщение отредактировал Валерьянка - Четверг, 19.06.2014, 18:27
 
Ответить
Сообщениеdoober, извините, пожалуйста, за глупый вопрос, а как можно обойти
[vba]
Код
    arFiles = Application.GetOpenFilename("XML files,*.xml", , "Выберите файлы", , True)
      If Not IsArray(arFiles) Then Exit Sub
[/vba]
? %)
Мне надо чтобы файл импортировался напрямую по одному адресу:
[vba]
Код
Thisworkbook.patch & "/test.xml"
[/vba]

Автор - Валерьянка
Дата добавления - 19.06.2014 в 17:50
RAN Дата: Четверг, 19.06.2014, 19:28 | Сообщение № 20
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Умный в гору не пойдет, умный гору удалит. (вместе с последующим циклом)
Не пробовали?
[vba]
Код
arFiles = Thisworkbook.patch & "/test.xml"
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеУмный в гору не пойдет, умный гору удалит. (вместе с последующим циклом)
Не пробовали?
[vba]
Код
arFiles = Thisworkbook.patch & "/test.xml"
[/vba]

Автор - RAN
Дата добавления - 19.06.2014 в 19:28
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Импорт/Экспорт xml → xls → txt (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!