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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2013, 16:29   #1
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию Ограничить форматирование (Надстрочные / подстрочные)

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

Word 2007
DJTreeno вне форума Ответить с цитированием
Старый 22.04.2013, 17:34   #2
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

Цитата:
DJTreeno: т.е. из других док-ов текст вставлялся только с использованием моих стилей.
вы имеет ввиду, что если вы копируете текст, который имеет стиль, которого у вас нет в документе, тексту присваивается стиль "Обычный"? И при переходе от какого-то стиля к стилю "Обычный" и происходит очистка формата?
Скрипт вне форума Ответить с цитированием
Старый 23.04.2013, 13:57   #3
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

Да именно это и происходит, мне не нужно чтобы копировался стиль из другого дока, но вот с надстрочными/ подстрочными произошел конфуз
DJTreeno вне форума Ответить с цитированием
Старый 23.04.2013, 14:19   #4
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

DJTreeno, подстрочное и надстрочное оформление вы как делаете:
  1. с помощью стиля. В данном случае, можно применить стиль знака или связанный стиль (это в "Word 2007");
  2. с помощью кнопок на ленте или на панели инструментов?
Скрипт вне форума Ответить с цитированием
Старый 23.04.2013, 16:04   #5
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

Скрипт, подстрочное и надстрочное оформление делаю не я и оно может быть выполнено двумя из этих способов, я лишь копирую текст в свой док, но скорее выполняется кнопками на ленте
DJTreeno вне форума Ответить с цитированием
Старый 23.04.2013, 16:07   #6
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

О кажется я понял о чем вы, надо пробегаться макросом в том доке из которого копирую и присваивать надстрочному / подстрочному символу стиль, а в своем доке разрешить этот стиль, щас попробую. Может есть изящней метод?
DJTreeno вне форума Ответить с цитированием
Старый 23.04.2013, 16:12   #7
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

Цитата:
DJTreeno: О кажется я понял о чем вы
нет, я для другого спрашивал.

Я сделал наблюдение, что если подстрочное оформление сделано с помощью кнопок на ленте, то при удалении стиля, оформление сохраняется. Если же подстрочное оформление сделано с помощью стиля, то оформление не сохраняется.

Раз могут быть разные ситуации и вы не можете повлиять на оформление текста, то тогда может быть попробовать как-то с помощью макроса копировать. Макрос будет брать копируемые данные, анализировать их на наличие подстрочных символов, и затем вставлять в нужном виде. Не знаю, возможно ли такое. Нужно пробовать делать макрос.
Скрипт вне форума Ответить с цитированием
Старый 23.04.2013, 16:36   #8
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

Sub Superscript2Footnote()
'замена надстрочных символов на стиль
Dim oRange As Range
Set oRange = ActiveDocument.Range
With oRange.Find
.ClearFormatting
.Forward = True
.Format = True
.Wrap = wdFindStop
.Font.Superscript = True
.Execute
While .Found

'Set fn = ActiveDocument.Footnotes.Add(oRange )
oRange.Move wdWord, 1
.Execute
oRange.Style = ActiveDocument.Styles("Надстрочный" )

Wend
End With
End Sub

Не получается конкретно выделить только надстрочные и выйти из цикла, помогите плиз!!!
DJTreeno вне форума Ответить с цитированием
Старый 23.04.2013, 16:45   #9
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

Бред какой-то выделять выделяет, а стиль не меняет, но в ручную меняет

Sub Superscript2Footnote()
'замена надстрочных символов на сноски
'помощь Steven M.
'http://groups.google.com/group/microsoft.public.word.vba.general/
Dim oRange As Range
Set oRange = ActiveDocument.Range
With oRange.Find
.ClearFormatting
.Forward = True
.Format = True
.Wrap = wdFindStop
.Font.Superscript = True
.Execute
While .Found

oRange.Select
Selection.Style = ActiveDocument.Styles("Надстрочный" )

Wend
End With
End Sub

Последний раз редактировалось DJTreeno; 23.04.2013 в 16:45. Причина: Забыл код вставить
DJTreeno вне форума Ответить с цитированием
Старый 23.04.2013, 16:49   #10
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

Так теперь работает, но не выходит из цикл, помогите плиз!!!!!

Sub Superscript()

Dim oRange As Range
Set oRange = ActiveDocument.Range
With oRange.Find
.ClearFormatting
.Forward = True
.Format = True
.Wrap = wdFindStop
.Font.Superscript = True
.Execute
While .Found

oRange.Select
Selection.Font.Superscript = False
Selection.Style = ActiveDocument.Styles("Надстрочный" )

Wend
End With
End Sub
DJTreeno вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Надстрочные/подстрочные символы/индексы. Степени. Формулы. overlookerz Общие вопросы Delphi 6 21.01.2013 22:45
Adobe dreamweaver cs5 подстрочные знаки sergeant.coolagin HTML и CSS 2 30.04.2012 20:44
Надстрочные и подстрочные символы( Delphi) CAMOBAP Помощь студентам 2 08.03.2011 15:08
Надстрочные индексы в RichEdit Serega_P Общие вопросы Delphi 4 20.06.2008 11:34
Надстрочные символы в Label Almaas Общие вопросы Delphi 6 09.01.2008 15:05