|
4 / 1 / 0
Регистрация: 17.03.2021
Сообщений: 26
|
|
Excel Как в большом текстовом файле записанного одной очень длинной строкой с кодировкой utf-8 найти и заменить текст?26.02.2024, 12:34. Показов 3507. Ответов 42
Метки нет (Все метки)
Здравствуйте, уважаемые знатоки VBA.
Я не программист, но приходится иногда «с книжкой на коленках». В 1990-м году чуть-чуть ознакомительно изучал возможности Turbo Pascal 5.0 для персональных ЭВМ. Вот уж не думал, что после 50 лет придется ещё и VBA изучать. Но, как говориться: «Век живи - век учись...» и «Дорогу осилит идущий». Раньше, из других подобных файлов начинающихся строкой <?xml version="1.0" encoding="utf-8" standalone="no"?> в Microsoft Excel 2010 я построчно считывал строку String в ячейки Excel, обрабатывал и обратно построчно записывал их в файл. Но теперь столкнулся с тем, что файл около 70 Килобайт записан одной очень длинной строкой, которая не помещается в ячейку. В некоторых функциях обработки строк которыми я пользовался раньше есть ограничение по длине строк String. Помогите, пожалуйста. Напишите пример Sub, как в приложенном фале "ШаблонТранспортнойНакладной_001.fp3 " заменить строку "{№_Заказа}" на "12345/19-24", "{ФИО_Водителя}" на "Иванов И. И. ", "{Цифрами_кг}" на "12345 кг." и т.д. Дальше я сам буду пробовать. Предполагаю, что данные строки что искать: "{№_Заказа}" будет в ячейке Excel «A1», а на что заменить "12345/19-24" будет в ячейке Excel «B1» и т.д. Пожалуйста, в Sub явно объявите переменные, так как включена «option explicit». Буду очень благодарен, если к коду будут хоть маленькие «пояснялочки» или ссылки где об этом можно почитать более подробно ведь я не программист. Предполагаю, что в будущем мне еще не раз придется столкнуться с подобными файлами. По правилам форума прикрепленный файл *.fp3 переименован в *.doc "ШаблонТранспортнойНакладной_001.doc " пожалуйста переименуйте его в *.fp3 самостоятельно. Используется: Windows 7 – 64, Microsoft Excel 2010 Буду благодарен за любую помощь.
0
|
|
| 26.02.2024, 12:34 | |
|
Ответы с готовыми решениями:
42
Найти номер последнего максимального элемента массива, записанного в текстовом файле
|
|
4 / 1 / 0
Регистрация: 17.03.2021
Сообщений: 26
|
||
| 28.02.2024, 23:59 [ТС] | ||
0
|
||
| 29.02.2024, 09:58 | |||||||
|
Под 3 параметра (с использованием API из кода выше).
1
|
|||||||
|
509 / 163 / 22
Регистрация: 04.10.2015
Сообщений: 646
|
||
| 01.03.2024, 17:12 | ||
|
Глянул на вашу коллекцию декодирования и впечатлился. Забрал на всякий случай. Спасибо.
0
|
||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,805
|
||||||||
| 29.03.2024, 15:25 | ||||||||
|
Добавлено через 6 минут
1
|
||||||||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,805
|
||
| 29.03.2024, 15:29 | ||
|
1
|
||
| 29.03.2024, 15:31 | ||
0
|
||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,805
|
|
| 29.03.2024, 15:32 | |
|
0
|
|
| 29.03.2024, 15:32 | ||
0
|
||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,805
|
||
| 29.03.2024, 15:34 | ||
|
0
|
||
| 29.03.2024, 15:39 | ||
|
P.S.: метод показал мне ZVI (в коопе с sokol92)
0
|
||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,805
|
||||
| 29.03.2024, 16:08 | ||||
|
Добавлено через 6 минут Добавлено через 18 минут Добавлено через 3 минуты Jack Famous, вообще лучше полностью прочитай мою тему Как правильно открыть TXT файл для чтения, например чтобы запихнуть в TextBox или просто загрузить в массив строк там есть все ответы
0
|
||||
| 29.03.2024, 16:44 | ||
![]() Вот, если ты сделаешь стенд, где сравнишь скорость получения строки "моим" методом и "своим", и твоя скорость будет заметно выше для разного размеров файлов — тогда я с удовольствие гляну. А пока меня вполне устраивает существующее решение. Хорош оффтопить чужую тему, друзья. Вопрос тут давно закрыт, а рассуждать и тестировать стоит в отдельно созданной для этого теме.
1
|
||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,805
|
|||
| 29.03.2024, 17:21 | |||
|
Добавлено через 4 минуты
0
|
|||
|
13254 / 5933 / 1526
Регистрация: 05.10.2016
Сообщений: 16,598
|
|||||||
| 30.03.2024, 14:03 | |||||||
|
Sub Replace_In_UTF8_TextFile_ByCells
2
|
|||||||
|
13254 / 5933 / 1526
Регистрация: 05.10.2016
Сообщений: 16,598
|
|
| 30.03.2024, 14:17 | |
|
Vladimir1753, в коде (постом выше) - Обьявление ...
iTempCount As Integer = Лишнее.Забыл удалить.
1
|
|
|
Модератор
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| 30.03.2024, 16:20 | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
- кодом в екселе разбила на подстроки по символу "<" - подстроку на 2 ячейки по слову ТЕХТ= и не зависела бы от имен полей, их количества и размеров - затем ввела данные в столбец 4,5,6,7,8,9,10 - каждый столбец можно распечатать отдельно, ДЛЯ ЭТОГО ДОБАВИТЬ СТРОКУ В НАЧАЛО для флажка - и заново сформировала UTF-8-для выбранного столбца
1
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,805
|
||
| 30.03.2024, 18:55 | ||
|
Спасибо всем за готовые решения. Конечно придётся тут немного помучиться. С JSON гораздо проще было бы))) Но лично я открывал бы UTF-8 на чтение через API. Ну кому как нравится. Не все любят API так как я.
Добавлено через 1 минуту
0
|
||
|
4 / 1 / 0
Регистрация: 17.03.2021
Сообщений: 26
|
|||
| 31.03.2024, 21:36 [ТС] | |||
|
Добавлено через 9 минут Спасибо.
0
|
|||
|
Модератор
|
||
| 31.03.2024, 21:49 | ||
|
если это не так(после текста еще какой-то параметр, придется разнести в 3 столбца вместо 2-х объем работы - 80 мб - это не проблемный размер, это не гигобайты - макрос-1, который считывает UTF-8, делит на строки и заносит в лист ексель, что не сложно реализовать - далее обычный ввод данных в лист ексель по столбцам, чтобы видеть столбец2 с текстом и столбец 3 с именем мемо, можно прицепить и уже сделанную таблицу - макрос-2 для обратной записи в UTF-8 причем методика пригодна для любого подобного шаблона
1
|
||
| 31.03.2024, 21:49 | |
|
Как изменить строку в очень большом dll файле? Заменить текст в текстовом файле в определённой позиции Как найти строку в текстовом файле и заменить её данными из другого файла Подсчитать количество строк в текстовом файле. В текстовом файле все строчные гласные заменить на заглавные
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|