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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2020, 20:50   #11
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию

Благодарствую! Заработало как часы.
Но что интересно, обратная замена (фигурных на ёлочки) опять работает только в основном тексте... Макрос не трогал, поменял местами только ёлочки и фигурные.

Последний раз редактировалось caute; 11.11.2020 в 21:12.
caute вне форума Ответить с цитированием
Старый 12.11.2020, 13:10   #12
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от caute Посмотреть сообщение
Макрос не трогал
Всё-таки покажи "нетронутый" макрос
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 12.11.2020, 13:59   #13
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию

Код:
Sub Угловые_кавычки_вместо_фигурных()
    Call Кавычки_сделать_угловыми
    Dim stories
'  Массив с индексами частей документа
stories = Array(WdStoryType.wdMainTextStory, wdFootnotesStory, wdEndnotesStory)
Dim rng As Range
Options.AutoFormatAsYouTypeReplaceQuotes = False
For Each st In stories
'    Игнорируем ошибки на случай, если каких-то сносок нет
  On Error Resume Next
'    Берём нужную часть документа
  Set rng = ActiveDocument.StoryRanges(st)
'    Делаем замену
  With rng.Find
      .Text = "“"
      .Replacement.Text = "«"
      .Wrap = wdFindContinue
      .Execute Replace:=wdReplaceAll
      .Text = "”"
      .Replacement.Text = "»"
      .Wrap = wdFindContinue
      .Execute Replace:=wdReplaceAll
  End With
'    Очищаем ошибки, если были
  Err.Clear
Next
Options.AutoFormatAsYouTypeReplaceQuotes = True
    Call Апостроф
    End Sub
caute вне форума Ответить с цитированием
Старый 12.11.2020, 15:24   #14
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Странно, должно работать. Можешь приложить пример документа?
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 12.11.2020, 15:51   #15
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию пример

Файлик прикрепил - но я проверил на нескольких, всюду одно и то же: на фигурные меняет по всему тексту, на ёлочки - только в основной части (Word 2003)
Гипотеза: это как-то связано с символом фигурной кавычки, и если его заменить в макросе на соответствующий номер юникода, замены будут осуществляться и в сносках тоже.
Вложения
Тип файла: doc Об основных понятиях психологии.doc (31.0 Кб, 1 просмотров)

Последний раз редактировалось caute; 12.11.2020 в 15:54.
caute вне форума Ответить с цитированием
Старый 12.11.2020, 16:08   #16
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Проверил. Меняет везде, в обоих направлениях. Word для Microsoft 365: почти аналог Word 2019
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 12.11.2020, 23:40   #17
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию

Порядок, это я запутался в двух макросах с похожими названиями
caute вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по области действия переменных Maks_Andreev Общие вопросы по Java, Java SE, Kotlin 1 18.03.2016 22:00
DELPHI Выбрать все файлы в каталоге и если расширение .lnk - переименовать, удалив расширение ТипичныйСтудент Помощь студентам 1 14.03.2014 23:54
Расширение области видимости локального объекта на все файлы. mmx358 Общие вопросы C/C++ 9 13.07.2012 11:18
Проверить принадлежит ли точка закрашенной области, границе или находится вне области (код на Pascal) homk Помощь студентам 3 07.09.2011 23:16
сноски dima9 Microsoft Office Word 10 27.11.2009 09:57