|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Заменить в файле xml значения по справочнику |
|
Любой язык - Заменить в файле xml значения по справочнику
|
Старожил Сообщения: 239 |
Здравствуйте
Возможно ли скриптом проделать следующее: заменить значения в файле xml по справочнику. Справочник в файле Лист Microsoft Excel.xlsm в таблице SNMPDiscovery. Желательно чтобы данные справочника брались из умной таблицы |
|
Отправлено: 20:17, 02-05-2022 |
Старожил Сообщения: 239
|
Профиль | Отправить PM | Цитировать megaloman, я же говорю проблема решена.
И даже если б Вы не сказали как лечить(Сохраняйте скрипт в 1251 кодировке) проблему с кириллицей то меня бы устроил и такой вариант. А текстовый файл я просто показал с чем работать мне приходится. Ничего решать не надо. Уже решено все что нужно было в начале темы |
Отправлено: 20:33, 03-05-2022 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 239
|
Профиль | Отправить PM | Цитировать megaloman, здравствуйте
Не знаете почему не работает замена? Все заменяемые значения обернуты в <Description> |
Последний раз редактировалось v79italya, 22-05-2022 в 23:46. Отправлено: 15:35, 19-05-2022 | #12 |
Ветеран Сообщения: 2733
|
Профиль | Отправить PM | Цитировать v79italya, Ваш файл при скачивании блокируется как вредоносный. Не могу его посмотреть
|
------- Отправлено: 19:08, 19-05-2022 | #13 |
Старожил Сообщения: 239
|
Профиль | Отправить PM | Цитировать В архиве выгрузка справочника из 1с и файл Excel плюс vbs.
По отдельности большой размер выходит, не пропускает. Я с гугглХром скачиваю свой файл. Ошибка: обнаружен вирус. Там справочник в 2,4 мб |
Последний раз редактировалось v79italya, 22-05-2022 в 23:47. Отправлено: 20:00, 19-05-2022 | #14 |
Старожил Сообщения: 239
|
Профиль | Отправить PM | Цитировать Ругается на xlsm. Файл xlsx сделаю по новой
|
Последний раз редактировалось v79italya, 22-05-2022 в 23:46. Отправлено: 20:12, 19-05-2022 | #15 |
Старожил Сообщения: 239
|
Профиль | Отправить PM | Цитировать xlsx загружаю в архиве т.к. размер тоже большой
|
Последний раз редактировалось v79italya, 22-05-2022 в 23:47. Отправлено: 20:19, 19-05-2022 | #16 |
Старожил Сообщения: 239
|
Профиль | Отправить PM | Цитировать Как я понял, проблема в кодировке. Теперь справочник в кодировке - UTF-8-BOM и это сильно, раз нет ответа, усложняет обработку подобных файлов
|
Отправлено: 19:24, 21-05-2022 | #17 |
Ветеран Сообщения: 2733
|
Профиль | Отправить PM | Цитировать v79italya,
Цитата v79italya:
|
|
------- Отправлено: 20:13, 21-05-2022 | #18 |
Старожил Сообщения: 239
|
Профиль | Отправить PM | Цитировать Файл xml в архиве Товары.rar.
В файле Excel.rar экселевский файл с таблицей(что менять и на что менять). Сейчас проверил - эти файлы скачиваются |
Последний раз редактировалось v79italya, 22-05-2022 в 23:48. Отправлено: 00:45, 22-05-2022 | #19 |
Ветеран Сообщения: 2733
|
Профиль | Отправить PM | Цитировать v79italya, Вот вариант с UTF-8. Единственное, не понимаю как работает справочник в xlsx, там стоят формула с генерацией случайного соответствия.
Option Explicit Dim FileXLS: FileXLS = "Z:\Box_In\Excel.xlsx" Dim BeginXLS: BeginXLS = "A2" Dim FileXMLin: FileXMLin = "Z:\Box_In\Товары.xml" Dim FileXMLout: FileXMLout = "Z:\Box_In\ТоварыOutADO.xml" Dim Mass, i, i1, i2, j2 Dim AllTxt MsgBox "Begin" With CreateObject("Excel.Application") .Visible = False 'True .Workbooks.Open FileXLS Mass = .Range(BeginXLS + ":" + .Range(BeginXLS).End(-4121).Offset(0, 1).Address) .DisplayAlerts = False .Quit End With i1 = LBound(Mass, 1) i2 = UBound(Mass, 1) j2 = UBound(Mass, 2) With CreateObject("ADODB.Stream") .Charset = "utf-8" .Open .LoadFromFile (FileXMLin) AllTxt = .ReadText() .Close For i = i1 To i2 AllTxt = Replace(AllTxt, ">" + Mass(i, i1) + "<", ">" + Mass(i, j2) + "<") Next .Open .WriteText AllTxt .SaveToFile FileXMLout, 2 .Close End With MsgBox "Done" |
------- Отправлено: 23:04, 22-05-2022 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Поиск hex значения в файле, замена значения на заданное, сохранение файла | 9119 | Скриптовые языки администрирования Windows | 24 | 28-01-2024 21:23 | |
CMD/BAT - [решено] Найти текст по маске в файле и вставить найденные значения в ini файл | Anidzuka | Скриптовые языки администрирования Windows | 20 | 10-01-2019 19:06 | |
CMD/BAT - [решено] замена значения в xml-файле | firstarey | Скриптовые языки администрирования Windows | 20 | 13-11-2017 11:24 | |
VBS/WSH/JS - помогите заменить один блок на другой в xml файле | khodakovskyi | Скриптовые языки администрирования Windows | 0 | 07-01-2013 00:55 | |
работа с файлами в HEX формате, поиск и замена по 16ричному адресу значения в файле. | andr_mozg | AutoIt | 3 | 10-03-2012 10:20 |
|