2014-09-23 85 views
0

我有一個網站可以生成一些Excel電子表格並向最終用戶提供下載鏈接。其中一個電子表格是一個相當複雜的電子表格,具有基於多個數據透視表的多個圖表。從DL直接打開Excel時出現Excel「無法打開數據透視表源」錯誤

對於我們的一些用戶,當他們選擇立即「打開」文件(與「另存爲」將其放入已知路徑中相反)時,我們在嘗試刷新數據透視表時遇到問題:

無法打開數據透視表源文件:C:\ Users \用戶爲JoeUser \應用程序數據\本地\微軟\的Windows \ Temporary Internet Files文件\低壓\ Content.ie5 \ W9IZXYBM [excel_file_name.xlsm] PivotTableSourceSheetName'

如果用戶選擇「保存」而不是「打開」,刷新工作正常,所以我們的用戶有一個解決方法,但任何人都可以闡明什麼可能會導致只有少數用戶在「打開」的情況下有這個問題?我們沒有發現在「打開」文件的機器和沒有文件的機器之間明顯不同的東西。同樣的瀏覽器版本,相同的Office版本,等

+0

PivotCache的數據源是什麼?它是Excel範圍還是RecordSet? – 2014-09-23 15:16:17

+0

這是一個Excel範圍(在一張工作表上,它與pivottables/charts在同一個工作簿中,沒有任何外部數據源混淆了水)。 – 2014-09-23 15:44:35

回答

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事件中。

0

無法打開數據透視表源文件:C:\ Users \用戶爲JoeUser \應用程序數據\本地\微軟\的Windows \ Temporary Internet Files文件\低壓\ Content.ie5 \ W9IZXYBM [excel_file_name.xlsm] PivotTableSourceSheetName'

錯誤中引用的文件是xlsm(啓用了宏的xlsx)。這可能會導致問題。 「打開」打開IE緩存文件夾中的文件視爲互聯網內容,它應該與MSO對面向互聯網的內容施加的限制有關。 「保存」ed文件是本地文件,不受這些限制。考慮到差異。也許改成xlsx?除此之外,我不認爲你有什麼可以繞過它的。

相關問題