vba - tipo - object variable or with block variable not set
Variable de objeto o Con variable de bloque no establecida(Error 91) (1)
Tengo el siguiente código:
Sub AddSources()
Dim pubPage As Page
Dim pubShape As Shape
Dim hprlink As Hyperlink
Dim origAddress() As String
Dim exportFileName As String
exportFileName = "TestResume"
Dim linkSource As String
linkSource = "TestSource2"
Dim hyperLinkText As TextRange
For Each pubPage In ActiveDocument.Pages
For Each pubShape In pubPage.Shapes
If pubShape.Type = pbTextFrame Then
For Each hprlink In pubShape.TextFrame.TextRange.Hyperlinks
If InStr(hprlink.Address, "http://bleaney.ca") > 0 Then
hyperLinkText = hprlink.Range
origAddress = Split(hprlink.Address, "?source=")
hprlink.Address = origAddress(0) + "?source=" + linkSource
hprlink.Range = hyperLinkText
End If
Next hprlink
End If
Next pubShape
Next pubPage
ThisDocument.ExportAsFixedFormat pbFixedFormatTypePDF, "C:/" + exportFileName + ".pdf"
End Sub
hyperLinkText = hprlink.Range
el error "Variable de objeto o Con la variable de bloque no establecida (Error 91)" en la línea con hyperLinkText = hprlink.Range
. Cuando hprlink.Range
puedo ver que hprlink.Range
tiene un valor. ¿Alguna idea de lo que estoy haciendo mal?
Como escribí en mi comentario, la solución a su problema es escribir lo siguiente:
Set hyperLinkText = hprlink.Range
Set
es necesario porque TextRange
es una clase, por lo que hyperLinkText
es un objeto; como tal, si desea asignarlo, debe hacer que apunte al objeto real que necesita.