我有一个基本的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),它不是共享的,但受到保护。想法?
答案 0 :(得分:0)
问题是受保护的工作表。虽然受保护的Excel 2007工作表允许格式化和添加超链接文本显示而不隐式设置它,但在Excel 2010中,您必须这样做。为了我的目的,我只是不保护工作表,让程序做它的事情,然后重置最后的保护。因此,作为实际超链接例程的前身,我添加了一个清理例程。
QWidget *saveTab