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

Вход

Регистрация

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

 

= Мир MS Excel/Открыть XML в Excel в виде текста - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Открыть XML в Excel в виде текста
MaryL Дата: Пятница, 16.12.2016, 12:41 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день!
Есть ли возможность открыть файл xml в excel в виде текста с тегами, а не в виде таблицы.
Как если бы xml был открыт через блокнот.

Файл прикладывать нет смысла мне кажется, по
этому прикладываю скиншот, как файл открывается:


и мне хотелось бы видеть открытый файл:


PS. У меня куча xml файлов, из которых нужно удалить одну строчку (строку текста, а не строку таблицы). Хочу их с помощью макроса открыть в текстовом формате и удалить ненужную мне строку. Возможно кто-то подскажет способ легче.
 
Ответить
СообщениеДобрый день!
Есть ли возможность открыть файл xml в excel в виде текста с тегами, а не в виде таблицы.
Как если бы xml был открыт через блокнот.

Файл прикладывать нет смысла мне кажется, по
этому прикладываю скиншот, как файл открывается:


и мне хотелось бы видеть открытый файл:


PS. У меня куча xml файлов, из которых нужно удалить одну строчку (строку текста, а не строку таблицы). Хочу их с помощью макроса открыть в текстовом формате и удалить ненужную мне строку. Возможно кто-то подскажет способ легче.

Автор - MaryL
Дата добавления - 16.12.2016 в 12:41
krosav4ig Дата: Пятница, 16.12.2016, 13:06 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый день
Возможно кто-то подскажет способ легче
приложить файл-пример, указать какую строку/элемент нужно удалить


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеДобрый день
Возможно кто-то подскажет способ легче
приложить файл-пример, указать какую строку/элемент нужно удалить

Автор - krosav4ig
Дата добавления - 16.12.2016 в 13:06
MaryL Дата: Пятница, 16.12.2016, 14:17 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Вот файл XML (взяла маленький пример, потому что мои XMLки очень тяжелые, но смысл от упрощения не потерялся)
Нужно удалить строку 3 (<cafe name ="Ромашка">) и соответственно предпоследнюю строку (</cafe>).
К сообщению приложен файл: 111.xml (1.1 Kb)
 
Ответить
СообщениеВот файл XML (взяла маленький пример, потому что мои XMLки очень тяжелые, но смысл от упрощения не потерялся)
Нужно удалить строку 3 (<cafe name ="Ромашка">) и соответственно предпоследнюю строку (</cafe>).

Автор - MaryL
Дата добавления - 16.12.2016 в 14:17
krosav4ig Дата: Пятница, 16.12.2016, 15:32 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Жмете кнопку, выбираете папку с вашими файлами xml
[vba]
Код
Sub ViaDOM()
    Dim sFolder$, sXmlFile$, sXml$
    Dim cafe 'As IXMLDOMElement
    Dim food 'As IXMLDOMElement
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        If .Show Then sFolder = .SelectedItems(1) Else Exit Sub
    End With
    sXmlFile = Dir$(sFolder & "\*.xml")
    With CreateObject("MSXML2.DOMDocument.6.0")  'New MSXML2.DOMDocument60
        Do While sXmlFile <> ""
            .validateOnParse = False
            .Load sXmlFile
            sXml = .xml
            For Each cafe In .SelectNodes("//cafe")
                For Each food In cafe.ChildNodes
                    cafe.ParentNode.appendChild food
                Next
                cafe.ParentNode.RemoveChild cafe
            Next
            If sXml <> .xml Then
                .Save sXmlFile
            Else
                Debug.Print "в Файле"; sXmlFile; " элемент cafe не найден"
            End If
            sXmlFile = Dir$()
        Loop
    End With
End Sub
[/vba]
К сообщению приложен файл: xml.xlsm (19.4 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 16.12.2016, 15:35
 
Ответить
СообщениеЖмете кнопку, выбираете папку с вашими файлами xml
[vba]
Код
Sub ViaDOM()
    Dim sFolder$, sXmlFile$, sXml$
    Dim cafe 'As IXMLDOMElement
    Dim food 'As IXMLDOMElement
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        If .Show Then sFolder = .SelectedItems(1) Else Exit Sub
    End With
    sXmlFile = Dir$(sFolder & "\*.xml")
    With CreateObject("MSXML2.DOMDocument.6.0")  'New MSXML2.DOMDocument60
        Do While sXmlFile <> ""
            .validateOnParse = False
            .Load sXmlFile
            sXml = .xml
            For Each cafe In .SelectNodes("//cafe")
                For Each food In cafe.ChildNodes
                    cafe.ParentNode.appendChild food
                Next
                cafe.ParentNode.RemoveChild cafe
            Next
            If sXml <> .xml Then
                .Save sXmlFile
            Else
                Debug.Print "в Файле"; sXmlFile; " элемент cafe не найден"
            End If
            sXmlFile = Dir$()
        Loop
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 16.12.2016 в 15:32
MaryL Дата: Понедельник, 19.12.2016, 08:39 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Запускаю макрос, выбираю папку. И больше ничего не происходит. Макрос не видит файлов в папке.
 
Ответить
СообщениеЗапускаю макрос, выбираю папку. И больше ничего не происходит. Макрос не видит файлов в папке.

Автор - MaryL
Дата добавления - 19.12.2016 в 08:39
MaryL Дата: Понедельник, 19.12.2016, 08:46 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Я перенесла строку With CreateObject("MSXML2.DOMDocument.6.0") внутрь цикла. Макрос заработал.
Но теперь он выдает сообщения, что искомый элемент в файле не найден (хотя он есть, он его не видит).
 
Ответить
СообщениеЯ перенесла строку With CreateObject("MSXML2.DOMDocument.6.0") внутрь цикла. Макрос заработал.
Но теперь он выдает сообщения, что искомый элемент в файле не найден (хотя он есть, он его не видит).

Автор - MaryL
Дата добавления - 19.12.2016 в 08:46
  • Страница 1 из 1
  • 1
Поиск:

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