我在表示数据流中的进程的图中有形状;基于形状和形状名称中的文本(例如,名为“Control ##”的形状,其中文本“ABC”链接到定义ABC过程的选项卡),形状超链接到位于另一个选项卡中的过程定义。如果我将形状中的文本更改为“XYZ”,即是否希望超链接转到“XYZ”定义,是否有自动更新该形状中的超链接的方法?我尝试过SheetFollowHyperlink事件过程,但似乎没有发生。代码我到目前为止如下:当超链接被点击时,有没有办法刷新/更新形状中的超链接?
Sub AssignHyperlink()
Dim CallerShapeName As String
CallerShapeName = Application.Caller
With ActiveSheet
Dim CallerShape As Shape
Set CallerShape = .Shapes(CallerShapeName)
Dim RowVar As Integer
Err.Number = 0
On Error Resume Next
If InStr(CallerShapeName, "Control") = 1 Then
RowVar = Application.WorksheetFunction _
.Match(.Range("C2").Value & CallerShape.TextFrame2.TextRange.Text, _
Sheets("Control Point Log").Range("A1:A700"), 0)
If (Err.Number = 1004) Then
MsgBox "No match found for this shape text in the Control Point Log"
Exit Sub
End If
On Error GoTo 0
.Hyperlinks.Add Anchor:=CallerShape, _
Address:=ActiveWorkbook.Name & "#" & "'Control Point Log'!$C$" & RowVar
Else
RowVar = Application.WorksheetFunction _
.Match(.Range("C2").Value & CallerShape.TextFrame2.TextRange.Text, _
Sheets("Data Flow Glossary").Range("A1:A700"), 0)
If (Err.Number = 1004) Then
MsgBox "No match found for this shape text in the Data Flow Glossary"
Exit Sub
End If
On Error GoTo 0
.Hyperlinks.Add Anchor:=CallerShape, _
Address:=ActiveWorkbook.Name & "#" & "'Data Flow Glossary'!$C$" & RowVar
End If
End With
End Sub
当单击形状时,为什么不检索形状的文本并使用它直接导航到相关的工作表?或者我错过了什么? – 2013-04-26 23:18:11
我正在使用形状的文本进行链接,但是当我更改文本时,它不会使用新文本重新链接形状。 – 2013-04-27 02:20:31
你用哪种方式定义hyperling的目的地?他们只是'选项卡'(张)名称,或者您在工作簿中使用“命名范围”? – 2013-04-27 05:52:05