tessj
04-25-2013, 12:52 PM
I have a microsoft word document. In my document, some paragraphs contain the string <@@>. I want to write a macro that will search my document for the string <@@>. When it finds a paragraph which contains this string, it should copy the paragraph and then paste as hyperlink at the top of the document. It should repeat this process until it cannot find the string <@@>.
I tried this code but I keep getting the error message
Run-time error '4605'
This method or property is not available because the Clipboard is empty or not valid.
Sub SearchCopyAndPaste()
Dim exists As Boolean
Dim rngParagraphs As Range
Dim paragraphText As String
For Each p In ActiveDocument.Paragraphs
paragraphText = p.Range.text
exists = InStr(paragraphText, "<@@>") <> 0
If exists Then
Set rngParagraphs = ActiveDocument.Range( _
Start:=p.Range.Start, _
End:=p.Range.End)
rngParagraphs.Select
rngParagraphs.Copy
Selection.HomeKey Unit:=wdStory
Selection.PasteSpecial Link:=True, DataType:=wdPasteHyperlink
End If
Next p
End Sub
The problem is this line
Selection.PasteSpecial Link:=True, DataType:=wdPasteHyperlink
I don't get any error message when I replace it with this line, but I don't want an ordinary paste; I want to paste as hyperlink
Selection.PasteAndFormat (wdPasteDefault)
What am I doing wrong?
I tried this code but I keep getting the error message
Run-time error '4605'
This method or property is not available because the Clipboard is empty or not valid.
Sub SearchCopyAndPaste()
Dim exists As Boolean
Dim rngParagraphs As Range
Dim paragraphText As String
For Each p In ActiveDocument.Paragraphs
paragraphText = p.Range.text
exists = InStr(paragraphText, "<@@>") <> 0
If exists Then
Set rngParagraphs = ActiveDocument.Range( _
Start:=p.Range.Start, _
End:=p.Range.End)
rngParagraphs.Select
rngParagraphs.Copy
Selection.HomeKey Unit:=wdStory
Selection.PasteSpecial Link:=True, DataType:=wdPasteHyperlink
End If
Next p
End Sub
The problem is this line
Selection.PasteSpecial Link:=True, DataType:=wdPasteHyperlink
I don't get any error message when I replace it with this line, but I don't want an ordinary paste; I want to paste as hyperlink
Selection.PasteAndFormat (wdPasteDefault)
What am I doing wrong?