imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 18.01.2003, 04:19     # 1
kvvic
Guest
 
Сообщения: n/a

макрос на Visual Basic

Помогите, пожалуйста, написать макрос для Word.
Мне нужно, чтобы макрос выполнял следующие действия:
если после курсора стоит знак абзаца - опуститься на одну строку вниз
если после курсора стоит любой другой символ жирным шрифтом - перейти в конец строки, сделать абзац, опуститься
на одну строку вниз
если после курсора стоит любой другой символ обычным шрифтом - перейти в начало строки, вставить два пробела,
перейти в конец строки, удалить символ перед курсором, сделать абзац.
Необходимо, чтобы макрос обработал таким образом весь документ.
Вот, что я написал:

Set myRange = ActiveDocument.Range(Start:=Selection.Start, _
End:=ActiveDocument.Content.End)
Do
Set char = Selection.Characters(1)
If char.Text = Chr$(13) Then
Selection.MoveDown Unit:=wdLine, Count:=1, Extend:=wdMove
ElseIf char.Bold = True Then
Selection.EndKey Unit:=wdLine, Extend:=wdMove
Selection.TypeParagraph
Selection.MoveDown Unit:=wdLine, Count:=1, Extend:=wdMove
ElseIf char.Bold = False Then
Selection.HomeKey Unit:=wdLine, Extend:=wdMove
Selection.TypeText Text:=" "
Selection.EndKey Unit:=wdLine, Extend:=wdMove
Selection.TypeBackspace
Selection.TypeParagraph
End If
Loop Until myRange.EndOf = True
End Sub

У меня не получается сделать цикл, чтобы макрос повторял эти действия до конца документа.
 
Старый 25.01.2003, 00:27     # 2
MAX67
Guest
 
Сообщения: n/a

Предпоследняя строка у тебя какая-то неподходящая:
Loop Until myRange.EndOf = True
Мне кажется надо:
Loop Until myRange.End = False
Т. е. не метод EndOf, который возвращает смещение, а свойство конца диапазона.

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


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 15:54.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.