サイドインジケータで構成されるExcelシートの2番目の列(B)を除外するコードを記述しています。私は、対応する列Aのデータと共に、= >
というインジケータだけをフィルタリングして表示しようとしています。しかし、私はエラーExcelでフィルタリングするPowerShellスクリプト
ラインでRangeクラス
のオートフィルタのプロパティを取得することができません取得の下に、私は、コードを実行するたび:14文字:1
CSVファイル形式
Name SideIndicator
asdf = >
asdf = >
trew = =
を
PowerShellを使用しているExcelオートメーションにはかなり新しいので、間違っているところに固執しています。
コード:
$file1 = "C:\Users\achowdhury\Desktop\Comparedfile.csv" # source's fullpath
$xl = New-Object -c Excel.Application
$xl.DisplayAlerts = $false # don't prompt the user
$wb1 = $xl.Workbooks.Open($file1) # open target
$sh1 = $wb1.Sheets.Item('Comparedfile') # sheet in workbook
$sh1.Select()
$sh1.Range("B1").Select()
$xlFilterValues = 7 # found in MS documentation
$filterList = @("= >")
$rng = $sh1.Cells.Item(2).EntireColumn # selecting the entire column for filtering
$rng.Select | Out-Null
$xl.Selection.AutoFilter($sh1, $filterList, $xlFilterValues)
$wb1.Close($true) # close and save workbook
$xl.Quit()
'Comparedfile.csv'を' Comparedfile.xls'(または 'xlsx')形式に変換しようとしましたが、フォーマット上の問題ではないかどうかを確認しましたか? 'csv'がフィルタリングオプションを受け入れるかどうかは不明です。こんにちはマヌー; – Manu
;私はXLSXにファイル形式を変更しますが、私は同じエラーを取得する:(ラインでRangeクラス のオートフィルタプロパティを取得できません :14文字:1 –
あなたのcsvファイルのサンプルを投稿することができ – Manu