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

Вход

Регистрация

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

 

= Мир MS Excel/Экспорт XML в кодировке windows-1251 - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Экспорт XML в кодировке windows-1251 (Макросы/Sub)
Экспорт XML в кодировке windows-1251
and_evg Дата: Среда, 07.02.2018, 09:45 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 53 ±
Замечаний: 0% ±

Excel 2007
Добрый день.
Имеется файл данных с картой XML (прилагаемый файл)
Для экспорта в XML использую простенький код:

[vba]
Код
Sub ExportToXML()
    Dim strPath As String
    strPath = ThisWorkbook.Path & "\счет.xml"
    ThisWorkbook.XmlMaps("Файл_карта").Export URL:=strPath
End Sub
[/vba]

Проблема в том, что данный метод экспортирует в кодировке UTF, а для загрузки в Диадок (система электронного документооборота) требуется кодировка windows-1251.
Вопрос: Как произвести экспорт в XML в кодировке windows-1251.
Заранее спасибо.
К сообщению приложен файл: _XML.xls(66.0 Kb)
 
Ответить
СообщениеДобрый день.
Имеется файл данных с картой XML (прилагаемый файл)
Для экспорта в XML использую простенький код:

[vba]
Код
Sub ExportToXML()
    Dim strPath As String
    strPath = ThisWorkbook.Path & "\счет.xml"
    ThisWorkbook.XmlMaps("Файл_карта").Export URL:=strPath
End Sub
[/vba]

Проблема в том, что данный метод экспортирует в кодировке UTF, а для загрузки в Диадок (система электронного документооборота) требуется кодировка windows-1251.
Вопрос: Как произвести экспорт в XML в кодировке windows-1251.
Заранее спасибо.

Автор - and_evg
Дата добавления - 07.02.2018 в 09:45
krosav4ig Дата: Среда, 07.02.2018, 16:59 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1624
Репутация: 680 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый день. Можно попробовать такой костыль.
[vba]
Код
Sub ExportToXML()
    Dim strPath As String, sTmp As String
    strPath = ThisWorkbook.Path & "\счет.xml"
    ThisWorkbook.XmlMaps("Файл_карта").Export URL:=strPath
    DoEvents
    With CreateObject("ADODB.Stream")
        .Type = 2: .Charset = "utf-8"
        .Open: .LoadFromFile strPath: sTmp = .ReadText: .Close
        .Charset = "windows-1251": sTmp = Replace(sTmp, "UTF-8", "windows-1251")
        .Open: .WriteText sTmp: .SaveToFile strPath, 2: .Close
    End With
End Sub
[/vba]


(_)Õvõ(_)
 
Ответить
СообщениеДобрый день. Можно попробовать такой костыль.
[vba]
Код
Sub ExportToXML()
    Dim strPath As String, sTmp As String
    strPath = ThisWorkbook.Path & "\счет.xml"
    ThisWorkbook.XmlMaps("Файл_карта").Export URL:=strPath
    DoEvents
    With CreateObject("ADODB.Stream")
        .Type = 2: .Charset = "utf-8"
        .Open: .LoadFromFile strPath: sTmp = .ReadText: .Close
        .Charset = "windows-1251": sTmp = Replace(sTmp, "UTF-8", "windows-1251")
        .Open: .WriteText sTmp: .SaveToFile strPath, 2: .Close
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 07.02.2018 в 16:59
and_evg Дата: Четверг, 08.02.2018, 08:27 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 53 ±
Замечаний: 0% ±

Excel 2007
krosav4ig, Большое спасибо! Костыль помог.
Я так понимаю, что уже созданный XML файл открываете и в потоке (посредством ADODB) меняете кодировку?
И второй вопрос (просто нет возможности сейчас проверить). На работе стоят офисы от 2003 до 2013-го, граблей никаких не предвидится?
 
Ответить
Сообщениеkrosav4ig, Большое спасибо! Костыль помог.
Я так понимаю, что уже созданный XML файл открываете и в потоке (посредством ADODB) меняете кодировку?
И второй вопрос (просто нет возможности сейчас проверить). На работе стоят офисы от 2003 до 2013-го, граблей никаких не предвидится?

Автор - and_evg
Дата добавления - 08.02.2018 в 08:27
nariman Дата: Среда, 02.05.2018, 01:16 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
А можно подробней, как это делается....
мне нужно торг 12 загрузить в ЭДО, но там выдает тоже ошибку с кодировкой, дожна быть в windows 1251? как у топик стартера.
Как вообще в таких случаях поступают,
 
Ответить
СообщениеА можно подробней, как это делается....
мне нужно торг 12 загрузить в ЭДО, но там выдает тоже ошибку с кодировкой, дожна быть в windows 1251? как у топик стартера.
Как вообще в таких случаях поступают,

Автор - nariman
Дата добавления - 02.05.2018 в 01:16
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Экспорт XML в кодировке windows-1251 (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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