Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Замена 2х-3х подряд идущих слов одним

Ответить
Настройки темы
.NET - Замена 2х-3х подряд идущих слов одним

Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем Доброго времени суток! У меня есть программа, суть ее такова: берется вордовский документ, в нем выделяются слова желтым цветом, а потом при нажатии на кнопку заменяются тегами. Проблема в том, что если выделено несколько слов подряд, то заменяется каждое отдельно, а мне нужно чтобы одним заменялось. Как выполнить проверку на непрерывность выделения не могу найти... может кто подскажет?

Заранее спасибо!

Отправлено: 10:13, 28-05-2012

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Marsella_88:
Проблема в том, что если выделено несколько слов подряд, то заменяется каждое отдельно… »
Начните с того, что приведите Ваш код.

Отправлено: 10:36, 28-05-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
            // активный word-документ
            Word.Document thisDocument = thisApplication.ActiveDocument;
            // заменяем на Тег
            string find = "{Тег_";
            // счетчик
            int s = 0;

            // цикл поиска выделений в word-документе
            foreach (Word.Range Range_1 in thisDocument.Words)
            {
                // проверка этого выделения на цвет
                if (Range_1.HighlightColorIndex == Word.WdColorIndex.wdYellow)
                {
                    // сюда записываем выделенное слово
                    string slovo_1 = Range_1.Text;
                    s = s + 1;
                    // запись слова в textBox
                    textBox1.Text += slovo_1 + Environment.NewLine;
                    // запись тегов в textBox1
                    textBox2.Text += "{Тег_" + s + "}" + Environment.NewLine;

                    // запускаем второй цикл для нахождения одинкаовых выделенных слов
                    foreach (Word.Range Range_2 in thisDocument.Words)
                    {
                        // проверка выделения на цвет
                        if (Range_2.HighlightColorIndex == Word.WdColorIndex.wdYellow)
                        {
                            string slovo2 = Range_2.Text;
                            // проверка "одинааковые ли выделенные слова"
                            if (slovo_1 == slovo2)
                            {
                                // замена выделенного слова на Тег
                                Range_2.Text = find + s + "} ";
                                // обесцвечиваем фон за текстом
                                Range_2.HighlightColorIndex = Word.WdColorIndex.wdWhite;
                            }
                        }
                    }

                }
            }

Отправлено: 11:05, 28-05-2012 | #3


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Очень нужна помощь, подскажите, а то на этой неделе уже сдавать...

Отправлено: 20:53, 28-05-2012 | #4


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Marsella_88, выложите проект, формы, тестовые файлы и т.д.
Чтобы можно было дебажить алгоритм в приближенных вам условиях.
И чтобы не думалось, куда эту процедуру использовать и куда передавать результат.
Сделайте простенький проект-заготовку, чтобы нам было удобно помогать вам.
Где-то в пробелах ошибка ИМХО. Глаз вроде "спотыкается", но точно сказать не могу.
На спокойную голову в четверг.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:49, 28-05-2012 | #5


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar проект.rar
(53.1 Kb, 7 просмотров)

Готово!

Отправлено: 22:19, 28-05-2012 | #6


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


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

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 22:56, 28-05-2012 | #7


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Буду ждать. может и саму осенит Заранее спасибо )

Отправлено: 23:01, 28-05-2012 | #8


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Очень жду каких-нибудь известий....

Отправлено: 00:19, 01-06-2012 | #9


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Marsella_88, смотрю в оба глаза.
30ого защита диссера была, был невменяем.
Сейчас фильмишку фоном включу и за отладку.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 00:57, 01-06-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Замена 2х-3х подряд идущих слов одним

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2010 - [решено] Показ нескольких презентаций подряд AIA Microsoft Office (Word, Excel, Outlook и т.д.) 10 04-07-2011 11:26
HDD - [решено] Умерли подряд два жестких диска. Blackmore Накопители (SSD, HDD, USB Flash) 4 21-09-2010 01:49
[решено] Не работает 2 раза подряд ClipGet sashadeg AutoIt 4 05-03-2010 12:27
Разное - замена двух жестких дисков одним vitslob Microsoft Windows 2000/XP 2 12-06-2008 12:51
[решено] Комп убил две флешки подряд. Elkmann Непонятные проблемы с Железом 17 19-04-2008 12:00




 
Переход