Тема: Парсинг строки таблицы Word (VBA)
Добрый день!
Подскажите, пожалуйста, как скриптом "разложить" первую строку таблицы, данные в которой записаны через ";", на нужное количество строк (количество ";"+1)
Заранее спасибо!
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Добрый день!
Подскажите, пожалуйста, как скриптом "разложить" первую строку таблицы, данные в которой записаны через ";", на нужное количество строк (количество ";"+1)
Заранее спасибо!
Выложите пример.
Пример:
1. Импортируйте вложенный файл в проект Normal.
2. Установите курсор в строке которую нужно разбить.
3. Из меню макросов запустите макрос SplitRow
4. В появившемся диалоговом окне наберите разделитель, например ;
1. Импортируйте вложенный файл в проект Normal.
2. Установите курсор в строке которую нужно разбить.
3. Из меню макросов запустите макрос SplitRow
4. В появившемся диалоговом окне наберите разделитель, например ;
Ваш макрос очень хорош. Один недостаток. У меня первичная строчка (та что через ";") не вручную вводится, а подтягивается из свойств документа ({ DOCPROPERTY #Объект_экспертизы \* MERGEFORMAT } и т.п.). Ваш макрос их удаляет из документа и повторно не работает.
Подскажите, пожалуйста, как быть?
Нужен нормальный образец примера, чтобы разобраться в проблеме.
Нужен нормальный образец примера, чтобы разобраться в проблеме.
Образец:
Образец:
Копия в архиве (на всякий случай):
Вот я проверил Ваш файл, да он удаляет вставленные поля DOCPROPERTY и разбивает строку на строки согласно разделителю правильно. А за чем тогда 2-й раз запускать макрос?
А за чем тогда 2-й раз запускать макрос?
Потому что этот пример - по сути печатная форма для сторонней программы, которая формирует значения полей DOCPROPERTY. И вызываться такая печатная форма будет больше чем один раз.
У меня есть задумка "повесить" Ваш макрос на открытие документа Word, а на закрытие - написать макрос, который очистит таблицу от данных и вернет в первую строку DOCPROPERTY.
Только не знаю как это сделать.
Я знаю. Завтра напишу.
Я знаю. Завтра напишу.
Где же решение?..
Решение, думаю, простое. Сохранить файл с полями под другим именем, запустить в нём макрос, а исходный оставить нетронутым. А может быть логичнее сделать шаблон?
Товарищ kot!!!
Какой у вас Word?
Вообще напишите мне на почту, чтобы можно было оперативней общаться. И проще пересылать скрины, чтобы меньше писать словами. Мой адрес VBAproject77 @yandex.ru
Товарищ kot!
Алгоритм макроса не сложный. Во вложенном архиве скрины как это сделать вручную. Первые два скрина показывают где находятся те данные, которые Вам надо восстановить после парсинга, остальные, действия, которые надо предпринять чтобы это сделать. Попробуйте.
Если все у Вас получается, то остается только 2 вопроса:
1. Будет ли меняться количество строк в шапке?
2. Будут ли меняться имена данных.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться