Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
antonbogus
2 / 2 / 0
Регистрация: 06.01.2011
Сообщений: 22
1

Очень надо

06.01.2011, 23:49. Просмотров 2716. Ответов 41
Метки нет (Все метки)

Необходимо написать макрос по ворду, сам сделать не могу, так как напрочь не знаю VB так что надеюсь на отзывчивость.
Задание такое:
Имеется текст, в тексте есть открывающие и закрывающие скобки, нужно найти парные скобки, причём пара должна выделяться красным цветом (пара это окрывающая и парная ей закрывающая скобки). первая открывающая скобка всегда выделяется красным цветом, далее как понимаю надо задать счётчик открывающих скобок, но как это сделать всё - не знаю, помогите, плиз
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2011, 23:49
Ответы с готовыми решениями:

Помогите очень надо
Public Sub WorkWithSections() 'В документе DocThree создаются разделы...

Нужен очень простой и очень содержательный мануал по взаимодействию приложений, написанных на VB 6.0
Добрый день всем, очень нужен очень простой в понимании и очень содержательный...

Ну очень простой макрос.
Здравствуйте дорогие программисты. У меня к Вам маленькая просьба. Вы не могли...

Очень медленное копирование?
Здравствуйте,уважаемые форумчане.Я написал не сложный макрос,но при копировании...

Надо убрать цену
Из базы выгружаються одни названия с ценами в скобках, другие сначала с...

41
Alex77755
10780 / 3345 / 561
Регистрация: 13.02.2009
Сообщений: 9,826
07.01.2011, 01:03 2
Очень надо читать правила

Запреты и ограничения.
Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.
0
antonbogus
2 / 2 / 0
Регистрация: 06.01.2011
Сообщений: 22
07.01.2011, 01:19  [ТС] 3
Правила никоем образом не нарушены, название перечисленных слов в ограничениях не содержит, так что ни нада
0
Alex77755
10780 / 3345 / 561
Регистрация: 13.02.2009
Сообщений: 9,826
07.01.2011, 01:23 4
Запрещено создавать темы с бессмысленными названиями
0
antonbogus
2 / 2 / 0
Регистрация: 06.01.2011
Сообщений: 22
07.01.2011, 01:24  [ТС] 5
хорошо, надстроек с помощью которых я мог бы изменить название не нашёл. Название имеет смыл, достаточно определённный.
1
Sasha_Smirnov
5468 / 1311 / 143
Регистрация: 08.02.2009
Сообщений: 4,029
Записей в блоге: 29
07.01.2011, 04:37 6
(Извините, а если текст красный?)

А главное: если какая-то скобка непарная — придумай, что делать.
0
antonbogus
2 / 2 / 0
Регистрация: 06.01.2011
Сообщений: 22
07.01.2011, 07:28  [ТС] 7
Цитата Сообщение от Sasha_Smirnov Посмотреть сообщение
(Извините, а если текст красный?)

А главное: если какая-то скобка непарная — придумай, что делать.
Выделить цвет можно и текстовыделителем (менять не цвет текста, а выделать квадрат в котором находится символ), и если текст красный они просто сольются.
Если скобка не парная, задаётся счётчик открывающих скобок.
Сначала переменная i=0, это в момент, когда найдена первая открывающая скобка, далее задать надо счётчик, что с каждой найденной открывающей скобкой i1=i+1, далее цикл сворачиваем и в начале цикла i=i1, а если найдена не парная скобка i1=i-1, и в момент когда найдена закрывающая скобка, а i уже равняется нулю, то эта скобка парная первой открывающей скобке, следовательно выделяется первая "(" и ")" когда i=0, тока, блин, как это записать в программном коде? Я самого языка программирования этого не знаю... не знаю, зачем прохожу этот язык программирования, представить не могу где он понадобиться может, да и с тем как это преподавали... короче засада, буду благодарен за помощь, если не влом
0
Busine2009
Заблокирован
07.01.2011, 08:28 8
Цитата Сообщение от antonbogus Посмотреть сообщение
зачем прохожу этот язык программирования, представить не могу где он понадобиться может
спросите у преподавателя.
VBA изучается для обучения студентов навыкам программирования. Принципы программирования во всех визуально-объектных языках программирования (C++, Паскаль) одинаковые, но разный синтаксис (по разному команды записываются: разные символы используются и т.д.). Почему выбран VBA? Потому что его можно изучать, используя MS Office, который есть в каждом институте (наверное), и не нужны дополнительные затраты на закупку программного обеспечения или если есть бесплатные программы - то меньше хлопот. И вторая причина - VBA наверное самый простой язык программирования, что позволяет понять смысл программирования быстрее.
Навыки программирования могут не понадобится в будущем.

А в чём смысл задания вашего? Что конкретно нужно сделать?
0
antonbogus
2 / 2 / 0
Регистрация: 06.01.2011
Сообщений: 22
07.01.2011, 08:48  [ТС] 9
Ну что нужно я написал в первом посте, не поленюсь:

Цитата Сообщение от antonbogus Посмотреть сообщение
Необходимо написать макрос по ворду, сам сделать не могу, так как напрочь не знаю VB так что надеюсь на отзывчивость.
Задание такое:
Имеется текст, в тексте есть открывающие и закрывающие скобки, нужно найти парные скобки, причём пара должна выделяться красным цветом (пара это окрывающая и парная ей закрывающая скобки). первая открывающая скобка всегда выделяется красным цветом, далее как понимаю надо задать счётчик открывающих скобок, но как это сделать всё - не знаю, помогите, плиз
А про программирование, я знаю язык паскаля, он же используется в делфи, но знаете, вот уже год работаю по специальности и мне программирование не понадобилось, так как у меня пол офиса программистов сидит, к ним подходил с этой проблемой, мне сказали, что я их обижаю такими просьбами, так как они работают в каких-то там файр бёрдах и тд, я в этом тёмный напрочь, так что я и пошёл сюда, на форум с просьбой, просто самому побыстрому изучить этот язык мне не представляется возможным сейчас
0
Busine2009
Заблокирован
07.01.2011, 08:50 10
antonbogus,
т.е. нужно парные скобки выделить красным цветом?
А если непарные, то что?
0
antonbogus
2 / 2 / 0
Регистрация: 06.01.2011
Сообщений: 22
07.01.2011, 08:59  [ТС] 11
их надо пропустить. всё просто, в итоге должны быть выделены только две скобки, парные друг другу. и первая открывающая скобка в любом случае должна выделяться
1
Busine2009
Заблокирован
07.01.2011, 09:03 12
antonbogus,
т.е. нужно в тексте выделить красным цветом все парные скобки и все открывающие скобки. А непарные закрывающие оставить так, как есть?
Я правильно понял?
0
antonbogus
2 / 2 / 0
Регистрация: 06.01.2011
Сообщений: 22
07.01.2011, 09:05  [ТС] 13
Как я понимаю, надо выделить только две скобки, парные друг другу, в тексте всегда должна выделяться первая открывающая скобка и парная ей закрывающая. все остальные должны быть пропущены. преподаватель отказался комментировать сие задание, так что думаю что так.
0
Busine2009
Заблокирован
07.01.2011, 09:07 14
Я не понимаю задания. Я сделаю так: будут выделяться красным цветом все парные скобки и все непарные открывающие скобки. Там будете сами уже смотреть, как вам надо.
0
antonbogus
2 / 2 / 0
Регистрация: 06.01.2011
Сообщений: 22
07.01.2011, 09:11  [ТС] 15
буду признателен за любую помощь, в коде написанном думаю дальше уже разберусь.
0
Busine2009
Заблокирован
07.01.2011, 09:29 16
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub m_1()
'Все открывающие скобки в документе делаем красным цветом
With ActiveDocument.Range.Find
    .Text = "("
    .Replacement.Font.Color = wdColorRed
    .Execute Replace:=wdReplaceAll
End With
'Все парные закрывающие скобки в документе делаем красным цветом
With ActiveDocument.Range.Find
    .Text = "[(]*?[)]"
    .MatchWildcards = True
    Do While .Execute
        .Parent.Characters.Last.Font.Color = wdColorRed
    Loop
End With
End Sub
0
antonbogus
2 / 2 / 0
Регистрация: 06.01.2011
Сообщений: 22
07.01.2011, 09:36  [ТС] 17
Огромное спасибо.
Но вопрос можно? А как определяется что они именно парные ведь? здесь нету ни отсчета ничего, ведь могут быть выделены в таком случае фактически все скобки...
Я думал,что должно быть в теле программы ветвление с счётчиком открытых скобок.
0
Busine2009
Заблокирован
07.01.2011, 09:39 18
Цитата Сообщение от antonbogus Посмотреть сообщение
А как определяется что они именно парные ведь?
Visual Basic
1
[(]*?[)]
Протестируйте код и увидите результат.
0
antonbogus
2 / 2 / 0
Регистрация: 06.01.2011
Сообщений: 22
07.01.2011, 09:40  [ТС] 19
Ладно, огромное спасибо, дальше постараюсь разобраться! С меня простава, не знаю какая))
0
Busine2009
Заблокирован
07.01.2011, 09:40 20
Цитата Сообщение от antonbogus Посмотреть сообщение
Я думал,что должно быть в теле программы ветвление с счётчиком открытых скобок.
можно и со счётчиком попробовать, если вы считаете, что так будет правильнее.
0
07.01.2011, 09:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2011, 09:40

Формат даты (американский и не очень)
Есть форма на ней 2 текстбокса, отформатированные для ввода даты есть 2 ячейки...

Очень нужен ваш совет
Всем доброго времени суток! В общем суть проблемы такая: дали...

Очень нужно. программа с userform
с помощью UserForm ввести значения коэффициентов A1, B1, C1, A2, B2,C2 и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru