Всем привет, с вами автор блога scriptcoding.ru. Сегодня мы рассмотрим работу с коллекцией Hyperlinks и классами Hyperlink, которые отвечают за создание гиперссылок в Word, работу с ними в целом.
Коллекция Hyperlinks содержит объекты Hyperlink, которые в свою очередь представляют MS Word гиперссылки в документе. Сама гиперссылка в Word может быть связана с диапазоном, выделением или графическим объектом. Доступ к самой коллекции осуществляется через свойство Hyperlinksобъекта Document. По индексу (Item(index)) мы можем обработать нужную гиперссылку. Однако, для класса Shape предусмотрено свойство Hyperlink, которое показывает, как сделать гиперссылку в Word для заданной фигуры, или даже класса WordArt.
Hyperlinks – Методы и свойства, MS Word гиперссылки
Count– Количество классов HyperLink.
Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay, Target) — Возвращает класс Hyperlink, представляющий новую гиперссылку в Word. Только первый параметр является обязательным.
Anchor – Объект, к которому надо привязать MS Word гиперссылку, например, выделенный или выбранный текст, графическая фигура или рисунок.
Address — Адрес для указанной ссылки, например, адрес электронной почты, интернет-адрес или путь к файлу. Обратите внимание, что Word не проверяет достоверность адреса.
SubAddress — Места назначения, такие как закладки, диапазон или номер слайда.
ScreenTip — Текст, который появляется в виде всплывающей подсказки при наведении указателя мыши, он находится над указанной ссылкой.
TextToDisplay — Отображаемый текст гиперссылки в Word. Значение этого аргумента заменяет текст или рисунок, заданный параметром Anchor.
Target — Имя кадра или окна, в котором вы хотите загрузить указанную MS Word гиперссылку.
Item(Index) – Доступ к указанной гиперссылке по ее номеру в коллекции HyperLinks.
Hyperlink – Методы и свойства, гиперссылка в Word
Свойства:
Address— Возвращает или устанавливает адрес (например, имя файла или URL) заданной гиперссылки в Word.
EmailSubject— Возвращает или задает текстовую строку для темы письма указанной MS Word гиперссылки.
ExtraInfoRequired– True — если необходима дополнительная информация, для указанной ссылки. Только чтение.
Name— Возвращает имя заданного объекта. Только чтение.
Range— Возвращает класс Range, представляющий часть документа, который содержится в виде MS Word гиперссылки.
ScreenTip— Возвращает или задает текст, который отображается в виде всплывающей подсказки при наведении указателя мыши, которая находится над указанной гиперссылкой Word.
Shape— Возвращает класс Shape для указанной гиперссылки MS Word или диаграммы.
Subaddress— Возвращает или задает название местоположения в пункте назначения созданной гиперссылки в Word.
Target— Возвращает или устанавливает имя фрейма или окна, в котором можно загрузить MS Word гиперссылку.
TextToDisplay— Возвращает или устанавливает видимый текст указанной гиперссылки в документе Word.
Type— Возвращает тип гиперссылки в Word. Только чтение, значение константы MsoHyperlinkType:
- msoHyperlinkRange — 0 — Гиперссылка относится к объекту Range.
- msoHyperlinkShape — 1 — Гиперссылка относится к объекту Shape.
- msoHyperlinkInlineShape — 2 — Гиперссылка относится к инлайн форме. Используется только с Microsoft Word.
Методы:
AddToFavorites() — Создание ярлыка для документа или гиперссылки в Word и добавляет его в папку Избранное.
CreateNewDocument(FileName, EditNow, Overwrite) — Создание нового документа, связанного с указанной гиперссылкой в Word.
FileName — Имя файла указанного документа.
EditNow — True, чтобы указанный документ открылся сразу в связанной с ним среде редактирования. Значение по умолчанию True.
Overwrite — True, чтобы перезаписать существующий файл с тем же именем в той же папке. False, если все существующие файлы с таким же именем сохранятся и аргумент FileName задает новое имя файла. Значение по умолчанию False.
Delete() — Убрать указанную гиперссылку Word.
Follow(NewWindow, AddHistory, ExtraInfo, Method, HeaderInfo) — Отображает кэшируемый документ, связанный с указанным классом гиперссылки в Word, если он уже загружен. В противном случае, этот метод разрешает гиперссылку, загружает целевой документ и отображает документ в соответствующем приложении.
NewWindow — True, чтобы отобразить целевой документ в новом окне. Значение по умолчанию False.
AddHistory — Этот аргумент зарезервирован для использования в будущем.
ExtraInfo – Дополнительно. Строка или массив, который указывает дополнительные сведения для HTTP, чтобы использовать для разрешения гиперссылки MS Word. Например, вы можете использовать данный параметр, что бы указать координаты гиперкарты, содержание, форма либо имя FAT файла. Эта строка либо размещена или добавлена, в зависимости от значения параметра Method. Используйте свойство ExtraInfoRequired для определения, требуется ли дополнительная информация.
Method – Дополнительно. Задает дополнительную информацию для http запроса, который обрабатывается. Содержит значение константы MsoExtraInfoMethod:
- msoMethodGet — 0 — Значение, указанное в свойстве ExtraInfo это строка, которая добавляется к адресу.
- msoMethodPost — 1 — Значение, указанное в свойстве ExtraInfo размещено в виде строки или массива байтов.
HeaderInfo – Дополнительно. Строка, задающая информацию заголовка для запроса HTTP. Значение по умолчанию является пустая строка. Указанная строка автоматически преобразуется в символы ANSI. Обратите внимание, что аргумент HeaderInfo может перезаписать поля заголовка HTTP по умолчанию.
Хорошо, с теорией закончили, теперь можно приступить к практической стороне. Для начала я приведу программный код на языке VBScript и JScript, а уже потом дам некоторые пояснения:
Программный код на языке VBSCRIPT:
' ******************************************************************** ' Коллекция Word Hyperlinks и классы Hyperlink ' Создание гиперссылок в Word ' hyperlinks_word.vbs ' ******************************************************************** Option Explicit dim oWord, oDoc, shpCanvas,i, LText dim oRange, oPars, oWords, oLinks, oSel Set oWord = CreateObject("Word.Application") ' ссылка на объект Word Application Set oDoc = oWord.Documents ' ссылка на коллекцию Documents oDoc.Add() oWord.Visible = true Set shpCanvas = oDoc(1).Shapes ' ссылка на коллекцию Shapes Set oRange = oDoc(1).Range() ' ссылка на объект Range Set oSel = oWord.Selection ' ссылка на объект Selection LText= "Как сделать гиперссылку в Word. Добавляем новый текст! " For i=0 to 5 oSel.TypeText LText & LText & LText oSel.TypeParagraph Next set oPars = oRange.Paragraphs ' ссылка на коллекцию Paragraps set oWords = oRange.Words ' ссылка на коллекцию Words set oLinks = oDoc(1).Hyperlinks ' ссылка на коллекцию Hyperlinks shpCanvas.AddShape 1, 150, 200, 40, 40 shpCanvas.AddTextEffect 1, "Привет Мир", "Times New Roman", 20, false, false, 350, 200 oLinks.Add oWords(5), "D:\work\", , "Всплывающий текст" oLinks.Add oPars(3).Range, "Просто ссылка", , "Абзац в виде ссылки" oLinks.Add shpCanvas(1), "http:\\scriptcoding.ru", , "Ссылка в фигуре" oLinks.Add shpCanvas(2), "fmy@mail.ru", , "Электронный адрес" |
Программный код на языке JSCRIPT:
// ******************************************************************** // Коллекция Word Hyperlinks и классы Hyperlink // Создание гиперссылок в Word // hyperlinks_word.js // ******************************************************************** var oWord, oDoc, shpCanvas,i, LText; var oRange, oPars, oWords, oLinks, oSel; oWord = WScript.CreateObject("Word.Application"); // ссылка на объект Word Application oDoc = oWord.Documents; // ссылка на коллекцию Documents oDoc.Add(); oWord.Visible = true; shpCanvas = oDoc(1).Shapes; // ссылка на коллекцию Shapes oRange = oDoc(1).Range(); // ссылка на объект Range oSel = oWord.Selection; // ссылка на объект Selection LText= "Как сделать гиперссылку в Word. Добавляем новый текст! "; for(i=0; i<=5; i++){ oSel.TypeText(LText + LText + LText); oSel.TypeParagraph(); } oPars = oRange.Paragraphs; // ссылка на коллекцию Paragraps oWords = oRange.Words; // ссылка на коллекцию Words oLinks = oDoc(1).Hyperlinks; // ссылка на коллекцию Hyperlinks shpCanvas.AddShape(1, 150, 200, 40, 40); shpCanvas.AddTextEffect(1, "Привет Мир", "Times New Roman", 20, false, false, 350, 200); oLinks.Add(oWords(5), "D:\\work\\", "" , "Всплывающий текст"); oLinks.Add(oPars(3).Range, "Просто ссылка","" , "Абзац в виде ссылки"); oLinks.Add(shpCanvas(1), "http:\\\\scriptcoding.ru","" , "Ссылка в фигуре"); oLinks.Add(shpCanvas(2), "fmy@mail.ru","" , "Электронный адрес"); |
В данных примерах мы просто добавляем заданный текст в документ несколько раз, потом происходит добавление двух графических фигур. В самом тексте гиперссылка MS Word привязана к одному абзацу и одному слову, а также, мы привязали ее к каждой из фигур.