Я пишу макрос VB для обработки документов для своей работы. Строки текста просматриваются, а текст в квадратных скобках помещается в список (поле).Как удалить гиперссылки из документа Microsoft Word?
Проблема возникает, когда я хочу, чтобы удалить все гиперссылки в документе, а затем генерировать новые (не обязательно в месте первоначальных гиперссылка)
Так проблема Как удалить существующие гиперссылки?
Моя текущая проблема заключается в том, что каждый раз, когда ссылка добавляется, количество гиперссылок увеличивается на один, но когда вы удаляете его, счетчик НЕ уменьшает. (в результате у меня теперь есть документ с 32 ссылками - все пустые, за исключением 3, которые я вложил в себя - они не отображаются в документе)
В конце кода показаны мои попытки удалить гиперссылки.
Private Sub FindLinksV3_Click()
ListOfLinks.Clear
ListOfLinks.AddItem Now
ListOfLinks.AddItem ("Test String 1")
ListOfLinks.AddItem ActiveDocument.FullName
SentenceCount = ActiveDocument.Sentences.Count
ListOfLinks.AddItem ("Sentence Count:" & SentenceCount)
counter = 0
For Each myobject In ActiveDocument.Sentences ' Iterate through each element.
ListOfLinks.AddItem myobject
counter = counter + 1
BracketStart = (InStr(1, myobject, "("))
If BracketStart > 0 Then
BracketStop = (InStr(1, myobject, ")"))
If BracketStop > 0 Then
ListOfLinks.AddItem Mid$(myobject, BracketStart + 1, BracketStop - BracketStart - 1)
ActiveDocument.Sentences(counter).Select
ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
"http://testnolink/" & counter, ScreenTip:="" 'TextToDisplay:=""
End If
End If
Next
'ActiveDocument.Sentences(1).Select
'
'Selection.Range.Hyperlinks(1).Delete
ActiveDocument.Hyperlinks.Item(1).Delete
Debug.Print ActiveDocument.Hyperlinks.Count
End Sub
первого, благодаря Диву для исправления беспорядок я сделал размещение кода. Это очень ценится мной. Хорошо, я делаю слишком большую сделку с ActiveDocument.Hyperlinks.Count? (действительно, я хочу иметь основной документ, в который можно вставлять различные источники, это может часто обновляться) Если я раскомментирую строку Selection.Range.Hyperlinks (1) .Delete, она по-прежнему терпит неудачу с ошибкой Runtime error «4198», это я связываю с гиперссылками (1), которые были удалены ранее этим утром ... но мой ActiveDocument.Hyperlinks.Count теперь 49, (см. Выше комментарий о том, что это большая проблема?) – 2009-07-07 11:54:40