VBA Hyperlinks.Add创建工作超链接,但在Excel 2010

时间:2015-09-02 19:59:13

标签: vba excel-vba hyperlink excel

我有一个基本的Hyperlinks.Add调用在VBA Excel 2007(Windows 7)中开发,它运行良好。但是,使用Excel 2010的用户运行相同的程序,并且在写出超链接时,它可以工作(将鼠标悬停在单元格上,链接显示URL),但文本显示为无显示。细胞是空白的。

这是代码。

Private Sub Write_PartSpecPartDetails(ByRef p_wksCompDetailReport As Worksheet, p_lngRowNow As Long, p_strReturnedRecords() As String, p_typCDCols As CompDetailCols)

With p_wksCompDetailReport

    .Range(p_typCDCols.strPartsSpecCol & p_lngRowNow).Value = p_strReturnedRecords(XML_ARRAY_PART_ELE)
    .Range(p_typCDCols.strPartsSpecStatusCol & p_lngRowNow).Value = p_strReturnedRecords(XML_ARRAY_PS_STAT_ELE)
    .Range(p_typCDCols.strOracleStatus & p_lngRowNow).Value = p_strReturnedRecords(XML_ARRAY_ORACLE_STAT_ELE)
    .Hyperlinks.ADD Anchor:=.Range(p_typCDCols.strWebLinkCol & p_lngRowNow), _
                        Address:=ITB_WEBPN_URL & p_strReturnedRecords(XML_ARRAY_PART_ELE) & "?OpenDocument", _
                        TextToDisplay:=ITB_WEBPN_PREFIX & p_strReturnedRecords(XML_ARRAY_PART_ELE)

End With

End Sub

用户的文件保存为Excel 2003(.xls),它不是共享的,但受到保护。想法?

1 个答案:

答案 0 :(得分:0)

问题是受保护的工作表。虽然受保护的Excel 2007工作表允许格式化和添加超链接文本显示而不隐式设置它,但在Excel 2010中,您必须这样做。为了我的目的,我只是不保护工作表,让程序做它的事情,然后重置最后的保护。因此,作为实际超链接例程的前身,我添加了一个清理例程。

QWidget *saveTab