Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 13 ]
- rizalut
- подполковник
- Неактивен
- Зарегистрирован: 05.01.2010
- Сообщений: 108
- Поблагодарили: 1
Тема: Вставить гиперссылку в середину создаваемого параграфа
Не получается в цикле делать следующее :(
'Создаем начало параграфа
myRange.Text = "Chr(9)
'Вставляем гиперссылку
StartPoint.SetRange Start:=myRange.Start, End:=myRange.End
.Hyperlinks.Add SubAddress:=.Bookmarks(i).Name, Anchor:=InsPoint, _
ScreenTip:="", TextToDisplay:="Здесь должен быть текст параграфа букмарки"
'Закончили вставлять гиперссылку
'Вставляем некоторый дальнейший текст
myRange.InsertAfter (" Здесь должен быть текст страницы букмарки")
myRange.Paragraphs.Style = "Оглавление 1"
myRange.Collapse (wdCollapseEnd)
Пропадает текст до гиперссылки и текст после.
Не форматируется стилем "Оглавление 1".
2й и последующие параграфы замещают собой ниже находящийся текст.
До помещения кода вставки ссылки в цикл все работало правильно.
Что я делаю не так?
Как это сделать правильно?
Спасибо за интерес!
- admin
- Администратор
- Неактивен
- Откуда: Земля
- Зарегистрирован: 15.12.2009
- Сообщений: 508
- Поблагодарили: 39
Re: Вставить гиперссылку в середину создаваемого параграфа
rizalut, а вы случайно не AutoCAD используете?
Сложно понять, что откуда и куда. Вы бы целый код из VBA для Word привели.
- rizalut
- подполковник
- Неактивен
- Зарегистрирован: 05.01.2010
- Сообщений: 108
- Поблагодарили: 1
Re: Вставить гиперссылку в середину создаваемого параграфа
admin
VBA родной для Word'а.
Никаких AutoCAD'ов.
Завтра более детальный код распишу.
- admin
- Администратор
- Неактивен
- Откуда: Земля
- Зарегистрирован: 15.12.2009
- Сообщений: 508
- Поблагодарили: 39
Re: Вставить гиперссылку в середину создаваемого параграфа
Вы лучше объясните, что вы хотите сделать? Я так понял, что вам нужно вставить гиперссылку, после нее добавить какой-то текст, а затем к этому тексту применить стиль Оглавление. Так?
Стиль Оглавление у вас стандартный или вы создали свой? Для чего вам нужно использовать этот стиль? Для создания оглавления?
- rizalut
- подполковник
- Неактивен
- Зарегистрирован: 05.01.2010
- Сообщений: 108
- Поблагодарили: 1
Re: Вставить гиперссылку в середину создаваемого параграфа
admin
Спасибо за вопросы
Похоже, что я разобрался. Все проблемы были с непониманием:
1. где находится Range после операции добавления контента
- если вставляю текст - он выделяет текст
- если вставляю поле - он коллапсирует перед вставленным полем
2. как проще и удобней передвигать Range-у ноги.
Я делаю макрос, создающий оглавление в фирменном стиле организации.
Там плавающая номерация страниц и другие вещи, которые формат вордовского оглавления не позволяет вставить.
- rizalut
- подполковник
- Неактивен
- Зарегистрирован: 05.01.2010
- Сообщений: 108
- Поблагодарили: 1
Re: Вставить гиперссылку в середину создаваемого параграфа
Столкнулся с очередным подводным камнем
Абзац 1 является закладкой.
Вставляю между существующими абзацем 1 и абзацем 2 абзац.
Абзац 2 является закладкой.
Но понятия "между" не существует. Вставка происходит в адрес существующего символа.
Получается, что я либо оттяпываю во вставляемый абзац "]" (завершающую границу 1 абзаца), либо "[" (начинающую границу 2 абзаца).
Вставляю так:
Set myRange = .Bookmarks("1 абзац").Range
myRange.Collapse (wdCollapseEnd)
myRange.Text = "someText" & Chr(13)
В результате перед символом абзаца во вставленном абзаце появляется "["(начинающаяся граница следующего абзаца). А сам следующий абзац остается без неё.
Как вставить абзац, не тронув границы закладок?
Отредактировано rizalut (07.01.2010 00:30:14)
- admin
- Администратор
- Неактивен
- Откуда: Земля
- Зарегистрирован: 15.12.2009
- Сообщений: 508
- Поблагодарили: 39
Re: Вставить гиперссылку в середину создаваемого параграфа
Вот так примерно:
Sub addBM()
Dim bm As Bookmark
Dim myRange As Range
Set bm = ActiveDocument.Bookmarks("abzac1")
Set myRange = ActiveDocument.Range(Start:=bm.End, End:=bm.End)
myRange.InsertAfter Chr(13) & "текст"
End Sub
- rizalut
- подполковник
- Неактивен
- Зарегистрирован: 05.01.2010
- Сообщений: 108
- Поблагодарили: 1
Re: Вставить гиперссылку в середину создаваемого параграфа
Увы, результат и этого кода у меня:
[Первая закладка¶]
[¶
текстВторая закладка¶]
А нужно:
[Первая закладка¶]
текст¶
[Вторая закладка¶]
Почему то вставка нового параграфа мистическим образом разрушает закладку следующего параграфа.
Пока вижу только такой выход:
1. пересозать первую закладку, чтобы символ параграфа вывести из нее
[Первая закладка]¶
2. установить Rang перед ее символом параграфа
[Первая закладка]|¶
3.Вставить символ параграфа и текст, по идее должно получиться так:
[Первая закладка]¶
текст¶
[Вторая закладка¶]
а на практике придется код переделывать - вылазит лишний параграф
Но вторая закладка уже не разрушается
Неужели никак нельзя просто вставить параграф, не порушив следующую за ним закладку?
- admin
- Администратор
- Неактивен
- Откуда: Земля
- Зарегистрирован: 15.12.2009
- Сообщений: 508
- Поблагодарили: 39
Re: Вставить гиперссылку в середину создаваемого параграфа
Так потому что у вас зачем-то вставлен в закладку 2 или закладку 1 знак абзаца. Зачем он там нужен?
P.S. Вы можете приложить ваш образец документа с этими закладками?
Либо добавьте символ абзаца в макрос после текста. Но сдается мне, что у вас просто неправильно определены закладки (с лишними символами в них).
- admin
- Администратор
- Неактивен
- Откуда: Земля
- Зарегистрирован: 15.12.2009
- Сообщений: 508
- Поблагодарили: 39
Re: Вставить гиперссылку в середину создаваемого параграфа
Вот как выглядят у меня текст и закладки для абзацев:
А как у вас они выглядят?
- rizalut
- подполковник
- Неактивен
- Зарегистрирован: 05.01.2010
- Сообщений: 108
- Поблагодарили: 1
Re: Вставить гиперссылку в середину создаваемого параграфа
Вот, родил, может поможет кому
Алгоритм, как не трогая закладку, начинающуюся с начала следующего абзаца,
вставлять перед ним в цикле поабзацно текст
Задача: вставить абзац между закладками
[Первая закладка¶]
[Вторая закладка¶]
1. пересоздать первую закладку, чтобы символ параграфа вывести из нее
(после цикла можно пересоздать ее, включив символ параграфа)
[Первая закладка]¶
Цикл-----------------------------------------------
2. Сколлапсить Rang перед символом текущего параграфа
[Первая закладка]|¶
3. Вставить символ параграфа и текст, по идее должно получиться так:
[Первая закладка]¶
текст¶
Енд цикла------------------------------------------
- rizalut
- подполковник
- Неактивен
- Зарегистрирован: 05.01.2010
- Сообщений: 108
- Поблагодарили: 1
Re: Вставить гиперссылку в середину создаваемого параграфа
admin
Да, в закладку вставлен символ абзаца.
Закладки делал в первый раз, раньше с ними не сталкивался.
Когда выделяешь текст, Word автоматически выделяет и знак параграфа.
Чтобы исключить его, нужно прилагать дополнительные усилия.
Вряд ли какая нибудь секретарша будет это старательно делать
Думаю, что достаточно сделать процедуру проверки,
в цикле убирающую из всех закладок документа знак параграфа.
- admin
- Администратор
- Неактивен
- Откуда: Земля
- Зарегистрирован: 15.12.2009
- Сообщений: 508
- Поблагодарили: 39
Re: Вставить гиперссылку в середину создаваемого параграфа
Согласен, надо переопределять закладки, если там есть паразитные символы.
Сообщений [ 13 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Вставить гиперссылку в середину создаваемого параграфа
Текстовым редактором Microsoft Word пользуются большинство работающих на компьютере людей, но многим хватает тех знаний, которые они получили, разбираясь с программой самостоятельно. На портале о Microsoft Office Word вы узнаете про: вычисление в таблице при помощи формул в ворде.
Такие пользователи даже не подозревают о множестве скрытых функций и возможностей Ворда.
Форум Ворд Эксперт предназначен для продвинутых пользователей, дорожащих своим временем и желающих совершенствоваться. На портале о Microsoft Office Word вы узнаете про: создание макросов в word 2010.
Здесь вы найдете информацию по самым тонким настройкам программы, макросам и шаблонам.
У форума удобная структура, позволяющая быстро найти любую интересующую информацию. На портале о Microsoft Office Word вы узнаете про: как пронумеровать pfufkjdrb в ворде.
Самое основное вынесено в «Часто задаваемые вопросы», более нетривиальные проблемы настроек различных функций, редактирования, форматирования и оформления обсуждаются в подразделе «Настройки и Форматирования», а написанию шаблонов и макросов посвящен раздел «Автоматизация». На портале о Microsoft Office Word вы узнаете про: как сделать чтобы колонтитул не бледнел при печати в ворде.
Со своими проблемами вы можете обратиться в подраздел форума «Заявки на разработку», но возможно вам помогут готовые решения из одноименного раздела. На портале о Microsoft Office Word вы узнаете про: как в телефоне выделить текст.
Для общения администрацией форума выделена «Курилка».
Кроме того, на форуме приведен список литературы очень полезной для освоения программы и оптимизации работы с Вордом. Наш сайт о Microsoft Office Word даст ответ про: статистика у ворді.