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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2013, 10:34   #11
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

Процедура "Procedure_2" не связана с языками, поэтому её можно сделать один раз, а не в каждом языке.

Код:
Sub Main()

    '1. Выделение цветом основной части документа.
    Call Procedure_1(ActiveDocument.Range)
    Call Procedure_2(ActiveDocument.Range)
    
    '2. Выделение цветом сносок, которые находятся в конце страницы.
    'Сначала смотрим, существуют ли сноски, чтобы не возникло ошибки.
    If ActiveDocument.Footnotes.Count > 0 Then
        Call Procedure_1(ActiveDocument.StoryRanges(wdFootnotesStory))
        Call Procedure_2(ActiveDocument.StoryRanges(wdFootnotesStory))
    End If
    
    '3. Выделение цветом концевых сносок.
    If ActiveDocument.Endnotes.Count > 0 Then
        Call Procedure_1(ActiveDocument.StoryRanges(wdEndnotesStory))
        Call Procedure_2(ActiveDocument.StoryRanges(wdEndnotesStory))
    End If
    
End Sub

Sub Procedure_1(myRange As Word.Range)
    
    With myRange.Find
        'Код получил с помощью макрорекорда.
        .NoProofing = False
        .LanguageID = wdGerman
        .Replacement.Font.Color = 6299648
        .Execute Replace:=wdReplaceAll
    End With
    
End Sub

Sub Procedure_2(myRange As Word.Range)

    'Выделение слов, у которых стоит флажок ("Word 2010"):
        'вкладка "Рецензирование" - группа "Язык" - "Язык" -
        '"Язык проверки правописания..." - флажок "Не проверять правописание".
    'Эта процедура для всех языков.
    
    
    With myRange.Find
        .NoProofing = True
        .Replacement.Font.Color = 10498160
        .Execute Replace:=wdReplaceAll
    End With
    
End Sub
Скрипт вне форума Ответить с цитированием
Старый 11.06.2013, 08:48   #12
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию

макрос работает ОК, спасибо огромное еще раз!

Последний раз редактировалось caute; 11.06.2013 в 09:17.
caute вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
раскраска DBCtrlGrid Lui C++ Builder 0 31.08.2012 02:41
раскраска графа PianeR Помощь студентам 0 11.11.2010 23:15
Раскраска диаграммы dayfuaim Microsoft Office Excel 8 22.08.2010 15:44
Раскраска эллипса rubik Мультимедиа в Delphi 1 02.05.2010 05:21
раскраска матрицы jeyjoe Помощь студентам 0 12.11.2009 18:49