我有一个网站可以生成一些Excel电子表格,并提供最终用户的下载链接。其中一个电子表格是一个相当复杂的电子表格,其中包含多个基于多个数据透视表的图表。
对于我们的一些用户,当他们选择立即“打开”文件时(而不是“另存为”将其置于已知路径中),我们在尝试刷新数据透视表时遇到问题:
无法打开数据透视表源文件:'C:\ Users \ joeuser \ AppData \ Local \ Microsoft \ Windows \ Temporary Internet Files \ Low \ Content.ie5 \ W9IZXYBM [excel_file_name.xlsm] PivotTableSourceSheetName'
如果用户选择“保存”而不是“打开”,则刷新工作正常,因此我们的用户有一个解决方法,但任何人都可以了解可能导致只有少数用户在“打开”时遇到此问题的原因场景?我们还没有发现“打开”文件的机器和不打开文件的机器之间的任何明显不同。相同的浏览器版本,相同的Office版本等。
答案 0 :(得分:0)
Sub LinkBreaker()
Dim Links() As Variant
Dim i As Long
Links = ActiveWorkbook.LinkSources(1)
If Not IsEmpty(Links) Then
For i = 1 To UBound(Links)
ActiveWorkbook.BreakLink Name:=Links(i), Type:=xlLinkTypeExcelLinks
Next i
End If
End Sub
此代码会将工作表中的所有外部链接转换为其值。我认为这将消除您的外部文件的问题。您应该将此代码放在Workbook_Open事件中。
答案 1 :(得分:0)
无法打开数据透视表源文件:'C:\ Users \ joeuser \ AppData \ Local \ Microsoft \ Windows \ Temporary Internet Files \ Low \ Content.ie5 \ W9IZXYBM [excel_file_name.xlsm] PivotTableSourceSheetName'
错误引用的文件是xlsm(启用宏的xlsx)。这可能会导致问题。 “打开”打开IE缓存文件夹中的文件作为互联网内容,它应该与MSO对面向互联网的内容施加的限制有关。 “保存”ed文件是本地文件,不受这些限制。考虑到差异。也许改成xlsx?除此之外,我认为你无法做任何事情来规避它。