Word bookmarks.

Программирование на Visual Basic for Applications
Gogic
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 24.08.2008 (Вс) 13:19

Word bookmarks.

Сообщение Gogic » 07.07.2009 (Вт) 16:15

Доброго времени.
Вопрос такой: как вставить подчеркнутое слово через коллекцию Bookmarks в Word VBA?

Код: Выделить всё
objWord.ActiveDocument.Bookmarks("bk019").Range.Text = "blabla"
objWord.ActiveDocument.Bookmarks("bk019").Range.Font.Underline = wdUnderlineWords

Не хочет подчеркивать ((.

viter.alex
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 221
Зарегистрирован: 27.07.2008 (Вс) 20:17
Откуда: Montreal

Re: Word bookmarks.

Сообщение viter.alex » 08.07.2009 (Ср) 2:08

Вы где-то ошибаетесь. А именно:
  1. Текст закладки нужно задавать не так. То, что вы делаете — это замена всей закладки на новый текст, а затем обращение к уже несуществующей закладке
  2. Поскольку вы обращаетесь к Word из другого приложения, то вместо wdUnderlineWords нужно писать ее числовой эквивалент — 2
Текст закладки нужно изменять так:
Код: Выделить всё
'процедура для обновления закладок. Требует для своей работы указать закладку и новый текст
Public Sub UpdateBookmarks(ByVal oBm As Bookmark, ByVal sNewBmText As String)
  Dim oRng As Range
  Dim oParent As Object
  Dim sBmName As String
  With oBm
    Set oParent = .Parent
    Set oRng = .Range
    sBmName = .Name
  End With
  oRng.Text = sNewBmText
  oParent.Bookmarks.Add sBmName, oRng
End Sub
Sub ПримерОбновленияСодержимогоЗакладки()
  UpdateBookmarks ActiveDocument.Bookmarks("dffdf"), "Новое содержимое закладки"
  ActiveDocument.Bookmarks("dffdf").Range.Font.Underline = 2
End Sub
Лучше день потерять — потом за пять минут долететь!

Gogic
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 24.08.2008 (Вс) 13:19

Re: Word bookmarks.

Сообщение Gogic » 28.08.2009 (Пт) 18:55

Спасибо.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

    TopList