Добрый день! Помогите пожалуйста со следующей проблемой: есть XML файл, в одном из столбцов(последний, IssueData) есть дата в виде числа(41137 и.тд). Как ее перевести в вид "гг-мм-дд"? При изменении формата ячеек данные меняются, экспортирую XML, открываю, а там снова те же значения. Совсем недавно после каких-то танцов с бубнами у меня получилось изменить формат, но право, сейчас никак не могу вспомнить. Спасибо.
sar, здравствуйте. С вашим файлом-примером помогающим будет намного проще вам помочь.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
sar, "ГГГГ-ММ-ДД". Надеюсь, логика понятна)) если что, гуглите функция excel текст и изучайте варианты. Ещё можно гуглить формат ячейки
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Jack Famous написал: sar , "ГГГГ-ММ-ДД". Надеюсь, логика понятна)) если что, гуглите функция excel текст и изучайте варианты. Ещё можно гуглить формат ячейки
Немного новичок в этом деле, но вы разжевали так, что я понял) еще раз огромное Вам спасибо!
sar, обращайтесь) webley, ага) помню, первое время перебирал комбинации и не понимал, почему не выходит)))
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
А вообще, по хорошему, надо менять тип данных элемента в схеме, но как - я не знаю. До самого типа через VBA я добрался (integer), но похоже только для чтения...
webley, абсолютно согласен, что "костыли" - не есть хорошо. Для автора нашёл вот ( 1234) несколько ссылок, беглый взгляд на содержание которых говорит, что всё возможно. Разбираться пока нет времени…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Общая идея такая: 1. Импортируем xml в excel, получаем xml-схему 2. Эту схему сохраняем в отдельный файл с помощью макроса:
Код
Sub test()
Dim xm As XmlMap
Dim xs As XmlSchema
Set xm = ThisWorkbook.XmlMaps("ISVUZ_карта")
Set xs = xm.Schemas(1)
Dim fso As New FileSystemObject
Dim ts As TextStream
Set ts = fso.OpenTextFile(ThisWorkbook.Path & "\xml.xsd", ForWriting, True)
ts.Write xs.XML
ts.Close
End Sub
3. Редактируем полученный файл в текстовом редакторе (меняем у соответствующего элемента integer на date) 4. В новом окне excel импортируем скорректированную схему и сопоставляем ее с ячейками 5. После этого импортируем исходный xml - теперь он выделит числа, как не соответствующие формату, при этом формат столбца будет "дата" 6. Преобразуем числа в даты путем умножения на 1 7. Экспортируем xml
webley, круто сохранил в закладки на будущее. Спасибо большое за методику и макрос!
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄