0
powershellで問題があり、Excelに問題があります。Powershellを使用したExcelブックからのピボットテーブルのカウント
まず、PowerShellのバージョンは2で、Excelのバージョンは2010 x86です。
私のコードは次のとおりです。
#Start Excel
[Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Interop.Excel") | Out-Null
$ObjXls = New-Object "Microsoft.Office.Interop.Excel.ApplicationClass"
$ObjXls.Visible = $False
$ObjXls.ScreenUpdating = $False
$ObjXls.DisplayAlerts = $False
#Open the template workbook
[String] $Private:TemplateFilePath = "$($Params['TEMPLATE_PATH'])\$TemplateFileName"
WriteLog -Message "Template file: $TemplateFilePath"
$WbXls = $ObjXls.Workbooks.open($TemplateFilePath)
$WbXls.RefreshAll()
#Counting Pivot Tables
ForEach ($sheet in $WbXls.Worksheets)
{
if ($sheet.Name -ne "LiteDB") {
[int]$count = $sheet.PivotTables.Count
[string]$sheetname = $sheet.Name
writelog ($sheetname + " --- " + $count)
For ($i = 0; $i -le $sheet.PivotTables.Count; $i++) {
if (-not $sheet.PivotTables($i).RefreshTable()) {throw "Unable to refresh PivotTable"}
$sheet.PivotTables($i).RefreshTable()
$sheet.PivotTables($i).PivotFields("Week").CurrentPage=$Currentweek
}
}
}
「WRITELOG」コマンド明確にするためには、それ
はそれを心配していない作品、ログファイルを生成するために私が作成したライブラリです。
出力は、シートの名前とピボットテーブルのカウントです...しかし:各シートで
NS --- 0, SM --- 0, QTY --- 0
私は1つのピボットテーブルを持っていますが、何が間違っていますか?なぜシートのピボットを認識していないのですか?
これを手伝ってもらえますか?