レポートに優れたピボットテーブルを作成するアプリケーションをvb.netで開発しました
私のマシンのExcelバージョンが2003年から2010年にアップグレードされ、ピボットテーブル機能が失敗しています
WkbResult.PivotCaches.Add
2003バージョンと2010バージョンの両方の呼び出しを調べましたが、2003と2012を除いて違いは見つかりませんでした。WkbResult.PivotCaches.Create
Dim WksPivot As Excel.Worksheet = WkbResult.Worksheets("Summary")
Dim WksResult As Excel.Worksheet = WkbResult.Worksheets("Test_Details")
Dim PC As Excel.PivotCache = Nothing
Dim PTS As Excel.PivotTables = Nothing
Dim PT As Excel.PivotTable = Nothing
' This is where it fails even after i changed Add to Create method
PC = WkbResult.PivotCaches.Create(Excel.XlPivotTableSourceType.xlDatabase, WksResult.Range("A:D"))
参照を確認しようとしましたが、参照を新しいバージョンに変更しました。これは私のマシンに表示されますが、それでも同じ例外が発生します。
これが例外の一部です
System.ArgumentException was unhandled
Message="The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))"
Source=""
StackTrace:
at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
at Microsoft.Office.Interop.Excel.PivotCaches.Create(XlPivotTableSourceType SourceType, Object SourceData, Object Version)
at QCLite.PivotTableManager.CreateResultsPivotTable(Workbook& WkbResult, ListView lstResults) in C:\userdata\Framework\src\06 Utilities\QCLite\QCLite\PivotTableManager.vb:line 23