1

Тема: поле в Ворде типа ТОС

Здравствуйте, есть поле в Ворде типа ТОС..., если его обновить получим идущие одно за другим поля типа:
HYPERLINK \l "_Toc282689584"
HYPERLINK \l "_Toc282689585"
HYPERLINK \l "_Toc282689586"
можно ли и как програмно при помощи ВБА узнать начало поля на которое ссылается ссылка, например первого "_Toc282689584"

данные в переменной

'Creator - Создатель, автор, разработчик
w = ActiveDocument.Fields(6).Creator

чем нибудь помогут??
и вообще что за цифры в неё попадают 126737460???
как ещё узнать, сколько в поле типа ТОС... входят "сыночков" и "дочек" типа HYPERLINK \l "_Toc282689584", какое первое из них и какое последнее??
Спасибо

2

Re: поле в Ворде типа ТОС

Ципихович Эндрю пишет:

..."_Toc282689584"...

Это имя скрытой закладки. Доступ к закладкам документа и их областям не представляет проблем.

Изучите закладки, поля и их ключи, в частности документацию по полям TOC и HYPERLINK.

Макросы под заказ и готовый пакет - mtdmacro.ru

3

Re: поле в Ворде типа ТОС

спасибо, чуть разобрался
подскажите, имею в документе Ворд закладку с именем "й" как узнать имя следующей закладки, имеется ввиду
какая закладка следует в документе за этой закладкой, желательно это сделать без цикла и выделения закладки
и надо учесть не является ли известная закладка последней в документе
Как ставя закладку указать, чтобы она была скрыта, как те которые ставит поле типа ТОС, то есть например "_Тос5485787"
Спасибо

4

Re: поле в Ворде типа ТОС

Ципихович Эндрю пишет:

...какая закладка следует в документе за этой закладкой...

Что значит "следует"? По сути, закладка - это область, а области могут пересекаться и совпадать. Какая тогда следующая?

Коллекция Range.Bookmarks содержит закладки, область которых пересекает область Range в порядке их положения от начала к концу документа (обычно). Т.е. если дана закладка, то, зная ее область, можно определить область от конца закладки до конца части, а затем и первую закладку в этой области. Пример для точечных закладок (у которых Start=End):

Dim B1 As Bookmark, B2 As Bookmark
Dim R As Range

    Set R = B1.Range
    R.SetRange Start:=R.End + 1, End:=R.StoryLength
    Set B2 = R.Bookmarks(1)
Ципихович Эндрю пишет:

...ставя закладку указать, чтобы она была скрыта...

Закладка считается скрытой если ее имя начинается со знака "_". Для работы со скрытыми закладками (чтобы они попадали в коллекции Bookmarks), надо активировать параметр ShowHidden. Например так:

ActiveDocument.Bookmarks.ShowHidden = True
Макросы под заказ и готовый пакет - mtdmacro.ru

5

Re: поле в Ворде типа ТОС

Вождь пишет:

Закладка считается скрытой если ее имя начинается со знака "_"

Этот ответ можно понять как:
В Ворде выделили часть текста, Вставка, Закладка, пишем "_" и функция Добавить не активна
Я так понял, но этого не происходит, вручную или макрососом можно вставить наподобии те ТОСов??

6

Re: поле в Ворде типа ТОС

Слабо самому опробовать все способы создания закладок, в частности скрытых?
Намекну: их всего два - руками и макросом, и один точно рабочий для скрытых smile

Макросы под заказ и готовый пакет - mtdmacro.ru

7

Re: поле в Ворде типа ТОС

так уже же попробовал, не получилось, описал как пробовал
остаётся макросом, как не знаю, а в этом случае запись макроса не поможет, а что каксается показа закладок так они у меня всегда отображаются

8

Re: поле в Ворде типа ТОС

У меня макрос без проблем создал скрытую закладку. Код: Selection.Bookmarks.Add Name:="_A"

Макросы под заказ и готовый пакет - mtdmacro.ru

9

Re: поле в Ворде типа ТОС

про сей способ я не спорю, не пробовал где сеть есть Ворда нет и наоборот, очень удивлён, что вручную нельзя а макросом можно, спасибо завтра проверю

10

Re: поле в Ворде типа ТОС

Доброго времени суток
подскажите
можно ли в оглавлении задать так что бы все номера страниц были меньше на одно значение?
т.е. поясню суть
имеем сквозную нумерацию по всему документу
и вторая нумерация по разделам
нужно что бы в оглавлении нумерация к примеру была меньше на 5стр.
пример сквозная нумерация  стр.8, а нумерация в разделе стр.3
и вот что бы в оглавлении было на 5страниц меньше