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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2009, 15:15   #21
Busine2009
Новичок
Джуниор
 
Регистрация: 23.05.2009
Сообщений: 167
По умолчанию

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

Я сам решил проверить, создаются таким образом стили или нет, но это факт.
Busine2009 вне форума Ответить с цитированием
Старый 11.07.2009, 15:25   #22
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию Нет предела совершенству!

Оказывается, что эту нашу проблему люди давно решили. Основываясь на их опыте, я немного изменил предыдущий макрос. Теперь поиск стилей будет происходить не только в основном документе, но и в колонтитулах, сносках и прочей нечисти.
Код:
Sub DeleteUnusedStyles()
  Dim oSt As Style, sMsg As String, oStrRange As Range
  For Each oSt In ActiveDocument.Styles
    On Error Resume Next
    If Not oSt.BuiltIn Then'Если стиль не встроенный
      For Each oStrRange In ActiveDocument.StoryRanges
        With oStrRange.Find
          .Style = oSt.NameLocal 'Ищем все вхождения текста, оформленного заданным стилем
          .Execute
          If (Not .Found) And Err.Number = 0 Then 'Если не нашли такой текст, и нет ошибок, то стиль удаляем
            sMsg = sMsg & "Удален """ & oSt.NameLocal & """" & vbCr: oSt.Delete
          ElseIf CBool(Err.Number) Then 'Если есть ошибка, то сообщаем об этом
            sMsg = sMsg & "Невозможно удалить """ & oSt.NameLocal & """" & ". Причина: " & Err.Description & vbCr
            Err.Clear
          End If
        End With
      Next oStrRange
    End If
  Next 
  MsgBox sMsg, vbInformation, "Результаты удаления стилей"
End Sub
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 11.07.2009, 15:30   #23
Busine2009
Новичок
Джуниор
 
Регистрация: 23.05.2009
Сообщений: 167
По умолчанию

Хотя сей час обратил внимание на то, что правая область называется: Стили и форматирование и в Организаторе, действительно, нет чего-то созданного изменением форматирования. Получается, что я не прав, что ли?

Да я был не прав. Если закрыть документ (даже с сохранением), а потом его открыть, то текст остается быть обычным и стиля, например, Выравнивания по правому краю нет.

Да этот макрос сработал.

Последний раз редактировалось Busine2009; 11.07.2009 в 15:36.
Busine2009 вне форума Ответить с цитированием
Старый 11.07.2009, 15:43   #24
Busine2009
Новичок
Джуниор
 
Регистрация: 23.05.2009
Сообщений: 167
По умолчанию

Могу дать только один совет Гарику.

Если вы знаете, как должен быть оформлен текст, то разошлите письма всем вставлятелям текста, чтобы они после вставки текста очищали формат, а если после вставки появляется кнопка с параметрами вставки, чтобы выбирали: использовать форматирование конечного фрагмента или чтобы выбирали "Сохранить только текст".
Busine2009 вне форума Ответить с цитированием
Старый 11.07.2009, 15:48   #25
akokin
Пользователь
 
Регистрация: 02.08.2008
Сообщений: 94
По умолчанию

Цитата:
Сообщение от Busine2009 Посмотреть сообщение
Могу дать только один совет Гарику.

Если вы знаете, как должен быть оформлен текст, то разошлите письма всем вставлятелям текста, чтобы они после вставки текста очищали формат, а если после вставки появляется кнопка с параметрами вставки, чтобы выбирали: использовать форматирование конечного фрагмента или чтобы выбирали "Сохранить только текст".
Простите, что влезаю в ваш разговор, но думаю, что пользователи пропустят мимо ушей такой совет. Уверен. Тем более, если их вон сколько у Игоря.
Да и макрос от Александра Витера работает же! Достаточно лишь скрыть из панели стилей неиспользуемые, чтобы не мозолили глаза.
akokin вне форума Ответить с цитированием
Старый 14.07.2009, 11:15   #26
garik64
Форумчанин
 
Регистрация: 09.07.2009
Сообщений: 111
По умолчанию

Цитата:
Сообщение от akokin Посмотреть сообщение
Простите, что влезаю в ваш разговор, но думаю, что пользователи пропустят мимо ушей такой совет. Уверен.
И правильно уверены. Не раз пропускали и теперь пропустили.

Цитата:
Да и макрос от Александра Витера работает же!
В примере, который я прикладывал, он убил много лишнего.
garik64 вне форума Ответить с цитированием
Старый 14.07.2009, 11:22   #27
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от garik64 Посмотреть сообщение
…В примере, который я прикладывал, он убил много лишнего.
Т.е. что значит лишнего? Макрос убил все стили, которые были созданы пользователем, но не используются для оформления текста.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 14.07.2009, 11:30   #28
garik64
Форумчанин
 
Регистрация: 09.07.2009
Сообщений: 111
По умолчанию

Цитата:
Сообщение от viter.alex Посмотреть сообщение
Т.е. что значит лишнего? Макрос убил все стили, которые были созданы пользователем, но не используются для оформления текста.
Текст был оформлен стилем txt_vest, заголовки - zag_vest, рубрики - стилем "Рубрика".

Макрос сообщил, что убил стили "txt_vest Знак", "zag_vest Знак", "Рубрика Знак" и оставил от них голый "Обычный".

Вполне вероятно, что проблема в способе оформления (курсор ставим посреди абзаца и нажимаем название стиля), не знаю. Но факт есть факт. Какой-то "Знак" объявился...
garik64 вне форума Ответить с цитированием
Старый 14.07.2009, 11:47   #29
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

В том примере, что вы приложили, у меня такой результат макроса:
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 14.07.2009, 12:08   #30
garik64
Форумчанин
 
Регистрация: 09.07.2009
Сообщений: 111
По умолчанию

Цитата:
Сообщение от viter.alex Посмотреть сообщение
В том примере, что вы приложили, у меня такой результат макроса:
Интересно девки пляшут...

А вот что у меня

garik64 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многоуровневый список и стили в Word 2007 CaptainNemo Microsoft Office Word 12 08.06.2009 23:45
Стили MS WORD 2007 max38934 Microsoft Office Word 4 04.06.2009 02:25
как вставить ссылку на ячейку в документе Excel в Word? ruavia3 Microsoft Office Excel 3 19.03.2009 21:32
как вставить ссылку в Word на ячейку в документе Excel? ruavia3 Microsoft Office Word 2 19.03.2009 21:24
Фон в документе Microsoft Word AleksP Microsoft Office Word 8 14.09.2008 17:55