Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2009, 00:01   #1
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
По умолчанию Замена текста в автофигурах макросом

В автофигурах необходимо заменять стандартный набор слов (он будет содержаться в макросе) на другие... например, слово "пункт" в автофигурах нужно заменить на "город", а его буквенные обозначения на заранее прописанные в модуле макроса рассшифровки... "А" - Архангельск, "Б" - Бобруйск, "В" - Витебск, "Г" - Геленджик...
Вложения
Тип файла: rar город.rar (2.0 Кб, 12 просмотров)
xamillion вне форума Ответить с цитированием
Старый 10.09.2009, 06:06   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

К сожалению, Вы не указали, каким именно образом должны быть заданы расшифровки буквенных обозначений в коде макроса (или в программном модуле?). В примере - один из множества возможных вариантов.
Посмотрите вложение. Запустите макрос "Main".
Вложения
Тип файла: rar город_2.rar (5.7 Кб, 36 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 10.09.2009, 09:27   #3
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
Хорошо

Цитата:
Сообщение от SAS888 Посмотреть сообщение
К сожалению, Вы не указали, каким именно образом должны быть заданы расшифровки буквенных обозначений в коде макроса (или в программном модуле?). В примере - один из множества возможных вариантов.
Посмотрите вложение. Запустите макрос "Main".
просто то что доктор прописал!!! спасибо...

Последний раз редактировалось xamillion; 10.09.2009 в 23:08.
xamillion вне форума Ответить с цитированием
Старый 10.09.2009, 23:08   #4
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
По умолчанию

можно немного усложнить условие? немного поменяем переменные - теперь их будет больше: это Общество с ограничбщество с ограниченной ответственностью (заменяем на ООО), Закрытое акционерное общество (заменяем на ЗАО) ну и т.д. В примере будет нагляднее...

Изменить имеющийся макрос что-то у меня не вышло как требуется (за один проход - пришлось копировать циклы, а это не совсем рационально), массивы "a" и "b" вообще не понял к чему... Если можно пару коментариев черкнуть (а то я только учусь)...

Обновленный пример впридачу...
Вложения
Тип файла: rar new_expl.rar (5.9 Кб, 12 просмотров)
xamillion вне форума Ответить с цитированием
Старый 11.09.2009, 05:40   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Сначала поясню смысл созданных массивов. Массив a содержит элементы, которые мы ищем в надписях автофигур для замены. Массив b содержит элементы, на которые нужно заменить найденный фрагмент надписи. Обязательное условие: порядковые номера элементов в массивах должны соответствовать, т.е. если в надписи автофигуры мы обнаружили, например, 3-й элемент массива a, то он будет заменен на 3-й элемент массива b и т.д. Эти массива Вы можете дополнять, соблюдая такой порядок.
Теперь, по поводу 1-й и 2-й задачи. Не смотря на то, что действия очень схожи, выполнение совершенно разное. Так, например, в 1-й задаче требовалось поменять "А" на Архангельск. Реализуется это так: с помощью функции Split (с разделителем "пробел") формируется массив, состоящий из отдельных слов надписи. Затем, если встречалось слово для замены ("А", "Б" и т.д.), то оно заменялось на соответствующий ей элемент. Метод Replace при такой замене использовать нельзя, ибо он поменяет все встретившиеся символы "А". А вот во 2-й задаче, где требуется заменить целую фразу, метод Replace очень даже подходит. Посмотрите вложение. Запустите макрос "Main". В дальнейшем, если понадобится, дополняйте массивы a и b, соблюдая порядок о котором я уже говорил.
Вложения
Тип файла: rar new_expl_2.rar (5.8 Кб, 22 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 11.09.2009, 08:56   #6
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
По умолчанию

спасибо, но про массивы я наверно не так выразился, что они делают я понял, не "прочувствовал" как они это делают... картина слегка прояснилась... буду теперь лепить остальное... спасибо огромное...

Последний раз редактировалось xamillion; 11.09.2009 в 21:23.
xamillion вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема поиск и замена текста(Delphi) KirkMETAL Помощь студентам 4 26.07.2010 08:41
Замена текста в DBGride INCIC БД в Delphi 21 01.07.2009 12:19
Поиск и замена текста в файле VAbramyak Общие вопросы Delphi 3 04.04.2007 20:20
поиск и замена текста в RichEdit Vasya Помощь студентам 11 16.03.2007 06:48
замена текста zetrix Microsoft Office Excel 0 31.10.2006 07:54