excel - VBA生成的超链接公式实际上并没有创建可用的超链接

  显示原文与译文双语对照的内容

i generate的链接,但是当我点击得到的链接时,我得到了一个Excel错误消息"无法打开特定文件。",我尝试了 ,但是结果相同。

这是我生成链接的代码。


wksUsersSheet.Range(COMMENTARY_COL & lngRowNow).FormulaR1C1 = 
"=HYPERLINK(" & Chr(34) &"[" & strThisBooksName &"]" & 
strFoundMatchWorksheetName &"!" & strFoundMatchAddress & Chr(34) &"," 
& Chr(34) & rngReturnedMatchingPart.Value & Chr(34) &")"

立即窗口将显示以下内容: =HYPERLINK("[UPN_Template_Wip]AleksV!$I$4","2322 734 61009L")

我也尝试过 .Formula,但是结果是一样的。

我在 Windows 7中使用 Excel 2007. 我在这里丢失了一些东西,因为它看起来很好,只是没有工作。 谢谢。

时间:

使用宏记录器在空白测试页上创建超链接,我得到了:


 ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Sheet1!A1", TextToDisplay:="HL Here"

我认为你应该具备以下功能:


wksUsersSheet.Hyperlinks.Add Anchor:=wksUsersSheet.Cells(lngRowNow, Commentary_Col), _
 Address:="", _
 SubAddress:="[" & strThisBooksName &"]" & strFoundMatchWorksheetName &"!" & _
 strFoundMatchAddress, _
 TextToDisplay:=rngReturnedMatchingPart.Value

根据你的评论 :

把你的strFoundMatchAddress 转换成行号&列号,我会叫它们 FoundMatchAddrRowFoundMatchAddrCol


 ActiveCell.FormulaR1C1 ="=HYPERLINK(" & Chr(34) &"[" & strThisBooksName &"]" & _
strFoundMatchWorksheetName &"!R[" & FoundMatchAddrRow &"]C[" & _
FoundMatchAddrCol &"],""" & _
rngReturnedMatchingPart.Value &""")"

注意 ""的使用在最终的字符串中生成一个 ",&减少了连接并消除了 Chr(34)的需求。 这不是必需的,但它确实减少了输入。

...