Skip to content

Instantly share code, notes, and snippets.

@sensq
Last active March 18, 2018 15:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sensq/49c2edb87c6346229fb9cc62deb90ea2 to your computer and use it in GitHub Desktop.
Save sensq/49c2edb87c6346229fb9cc62deb90ea2 to your computer and use it in GitHub Desktop.
Function EXCEL-Get-Book([String]$book_name){
<#
.SYNOPSIS
既に開かれているExcelブックからブックオブジェクトを選択して出力する関数
#>
Function Get-Book($book_name){
# Excelオブジェクトを取得
try{
$ex = [System.Runtime.InteropServices.Marshal]::GetActiveObject("Excel.Application")
}catch{
throw "Excelが起動していません"
}
# 引数が指定されていた場合は指定された名前のブックを返す
if($book_name){
foreach ($bk in $ex.WorkBooks){
if ($bk.Name -eq $book_name){
return $bk
}
}
}
else{
# 開いているブックの名前をすべて取得
$book_list = @()
$ex.WorkBooks | %{
$book_list += $_.Name
}
# 一つしか開いていなかったら自動的にそのブックを返す
if($book_list.length -eq 1){
return $ex.WorkBooks
}
# 二つ以上開いていた場合はGridViewで選択された名前のブックを返す
$ret_bk = $book_list | Out-GridView -PassThru -Title "開くブックを選択して下さい"
foreach ($bk in $ex.WorkBooks){
if ($bk.Name -eq $ret_bk){
return $bk
}
}
}
}
# 指定されたブックを開く
$global:EXCEL_BOOK = (Get-Book $book_name)
if($global:EXCEL_BOOK -eq $null){
throw "指定された名前のブックが開かれていません"
}
Write-Host ('Get $global:EXCEL_BOOK = '+ $global:EXCEL_BOOK.Name)
$global:EXCEL_BOOK
}
Function EXCEL-Get-BookList(){
<#
.SYNOPSIS
既に開かれているExcelブックのブック名をすべて出力する関数
#>
# Excelオブジェクトを取得
try{
$ex = [System.Runtime.InteropServices.Marshal]::GetActiveObject("Excel.Application")
}catch{
throw "Excelが起動していません"
}
# 開いているブックの名前をすべて取得
$book_list = @()
$ex.WorkBooks | %{
$book_list += $_.Name
}
$book_list
}
Function EXCEL-Get-BookALL(){
<#
.SYNOPSIS
既に開かれているExcelブックからすべてのブックオブジェクトを出力する関数
#>
EXCEL-Get-BookList | %{
EXCEL-Get-Book $_
}
}
#Function EXCEL-Foo-Book([__ComObject]$book){
#<#
# .SYNOPSIS
# ブック操作関連の関数のテンプレート
##>
# if(!$book){$book = $global:EXCEL_BOOK}
# if(!$book){
# throw "対象ワークブックオブジェクトを指定して下さい"
# }
#}
#Function EXCEL-Foo-Sheet([__ComObject]$sheet){
#<#
# .SYNOPSIS
# シート操作関連の関数のテンプレート
##>
# if(!$sheet){
# throw "対象シートオブジェクトを指定して下さい"
# }
#}
Function EXCEL-Check-ColorIndex([__ComObject]$sheet){
<#
.SYNOPSIS
確認用にColorIndexの色でA列を塗り潰す関数
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
Function Convert-RGB([Int]$color){
$rgb = @(0,0,0)
$rgb[0] = ($color % 256)
$rgb[1] = ([Math]::Floor($color / 256) % 256)
$rgb[2] = ([Math]::Floor($color / 256 / 256))
$ret = ("RGB(" + $rgb[0].ToString() + "," + $rgb[1].ToString() + "," + $rgb[2].ToString() + ")")
return $ret
}
#1..100 | %{
for($i=1; $i -lt 100;$i++){
try{
$sheet.Cells($i, 1).Interior.ColorIndex = ($i-1)
$rgb = (Convert-RGB $sheet.Cells($i, 1).Interior.Color)
$sheet.Cells($i, 1).Value2 = (($i-1).ToString() + " " + $rgb)
}catch{
break
}
}
}
Function EXCEL-Get-ActiveSheet([__ComObject]$book){
<#
.SYNOPSIS
アクティブシートを返す関数
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
$book.ActiveSheet
}
Function EXCEL-Get-ActiveCells([__ComObject]$sheet){
<#
.SYNOPSIS
指定したシートの選択中のセルを返す関数
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
$sheet.Activate()
$sheet.Parent.Parent.Selection
}
Function EXCEL-Get-ActiveCellsAddress([__ComObject]$sheet){
<#
.SYNOPSIS
指定したシートの選択中のセルのアドレスを返す関数
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
$current_sheet = $sheet.Parent.ActiveSheet
$sheet.Activate()
$sheet.Parent.Parent.Selection.Address()
$current_sheet.Activate()
}
Function EXCEL-Show-BookInfo([__ComObject]$book){
<#
.SYNOPSIS
ブック情報を色々と表示する
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
$obj = [PSCustomObject]@{
Author = $book.Author
FullName = $book.FullName
Path = $book.Path
Name = $book.Name
}
$obj | fl *
}
Function EXCEL-Get-SheetsName([__ComObject]$book){
<#
.SYNOPSIS
全シート名を出力する
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
$book.WorkSheets | %{
$_.Name
}
}
Function EXCEL-Add-Sheet([__ComObject]$book, [String]$sheet_name){
<#
.SYNOPSIS
ブックに指定された名前のシートを追加する
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
if(!$sheet_name){
$book.WorkSheets.Add() | Out-Null
}
else{
# 全シート名を取得
$sheets = @()
$book.WorkSheets | %{
$sheets += $_.Name
}
# 指定された名前のシートが無かったらシートを追加
if([Array]::IndexOf($sheets, $sheet_name) -eq -1){
$book.WorkSheets.Add() | Out-Null
$book.ActiveSheet.Name = $sheet_name
}
# 指定された名前のシートがあったらエラー終了
else{
throw "同名のシートが存在します"
}
}
return ($book.ActiveSheet | fl Index,Name)
}
Function EXCEL-Delete-Sheet([__ComObject]$sheet){
<#
.SYNOPSIS
ブックからシートを削除する
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
# 確認ダイアログが出ないようにする
$book = $sheet.Parent
$book.Parent.DisplayAlerts = $false
Write-Host ("Delete Sheet: " + $sheet.Name)
$sheet.Delete()
# 確認ダイアログが出るように戻す
$book.Parent.DisplayAlerts = $true
}
Function EXCEL-Show-SheetInfo([__ComObject]$sheet){
<#
.SYNOPSIS
シートの様々な情報を出力する
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
$obj = [PSCustomObject]@{
Index = $sheet.Index
Sheetname = $sheet.Name
Visible = $sheet.Visible
AutoFilterEnable = $sheet.AutoFilterMode
}
$obj | fl *
}
Function EXCEL-Show-SheetInfoALL([__ComObject]$book){
<#
.SYNOPSIS
EXCEL-Show-SheetInfoの全シート版
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
$obj_ary = @()
$book.WorkSheets | %{
$obj_ary += EXCEL-Show-SheetInfo $_
}
$obj_ary | fl *
}
Function EXCEL-Set-AutoFilter([__ComObject]$sheet, [String]$range, [Int]$ref_no, [String[]]$criteria){
<#
.SYNOPSIS
シートにフィルタを設定する
range: フィルタをかける表の範囲
ref_no: フィルタ条件を指定する列番号(表開始列を1とする)
criteria: フィルタをかける文字(配列で指定)
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
if(!$range){
throw "フィルタをかける範囲を指定して下さい(例:C10:O200)"
}
if(!$ref_no){
throw "フィルタをかける列を指定して下さい(例:13)"
}
if(!$criteria){
throw "フィルタをかける文字列配列を指定して下さい(例:@('○', '-')"
}
Write-Output $sheet.Name
$sheet.Range($range).AutoFilter($ref_no, $criteria, 7) | Out-Null
}
Function EXCEL-Set-AutoFilterALL([__ComObject]$book, [String]$range, [Int]$ref_no, [String[]]$criteria){
<#
.SYNOPSIS
EXCEL-Set-AutoFilterの全シート版
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
if(!$range){
throw "フィルタをかける範囲を指定して下さい(例:C10:O200)"
}
if(!$ref_no){
throw "フィルタをかける列を指定して下さい(例:13)"
}
if(!$criteria){
throw "フィルタをかける文字列配列を指定して下さい(例:@('○', '-')"
}
$book.WorkSheets | %{
EXCEL-Set-AutoFilter $_ $range $ref_no $criteria
}
}
Function EXCEL-Clear-AutoFilter([__ComObject]$sheet){
<#
.SYNOPSIS
シートのフィルタを解除する
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
if($sheet.AutoFilterMode){
Write-Output $sheet.Name
$sheet.Range("A1").AutoFilter() | Out-Null
}
}
Function EXCEL-Clear-AutoFilterALL([__ComObject]$book){
<#
.SYNOPSIS
EXCEL-Clear-AutoFilterの全シート版
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
$book.WorkSheets | %{
if($_.AutoFilterMode){
EXCEL-Clear-AutoFilter $_
}
}
}
Function EXCEL-Set-Visible([__ComObject]$sheet){
<#
.SYNOPSIS
シートを表示する
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
if($sheet.Visible -eq 0){
Write-Output $sheet.Name
$sheet.Visible = -1
}
}
Function EXCEL-Set-VisibleALL([__ComObject]$book){
<#
.SYNOPSIS
EXCEL-Set-Visibleの全シート版
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
$book.WorkSheets | %{
EXCEL-Set-Visible $_
}
}
Function EXCEL-UnSet-Visible([__ComObject]$sheet){
<#
.SYNOPSIS
シートを非表示にする
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
if($sheet.Visible -eq -1){
Write-Output $sheet.Name
$sheet.Visible = 0
}
}
Function EXCEL-UnSet-VisibleALL([__ComObject]$book){
<#
.SYNOPSIS
EXCEL-UnSet-Visibleの全シート版
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
$current_sheet = $book.ActiveSheet
$book.WorkSheets | %{
if($_.Name -ne $current_sheet.Name){
EXCEL-UnSet-Visible $_
}
}
}
Function EXCEL-Set-A1([__ComObject]$sheet, [String]$cell){
<#
.SYNOPSIS
シートをA1選択状態にする
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
$set_row = 1
$set_col = 1
if($cell){
$set_row = $sheet.Range($cell).Row
$set_col = $sheet.Range($cell).Column
}
Write-Output $sheet.Name
$visible = $sheet.Visible
if($visible -eq 0){
$sheet.Visible = -1
}
$sheet.Activate()
$sheet.Cells.Item($set_row, $set_col).Select() | Out-Null
if($visible -eq 0){
$sheet.Visible = $visible
}
}
Function EXCEL-Set-A1ALL([__ComObject]$book, [String]$cell){
<#
.SYNOPSIS
EXCEL-Set-A1の全シート版
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
$current_sheet = $book.ActiveSheet
$book.WorkSheets | %{
EXCEL-Set-A1 $_ $cell
}
$current_sheet.Activate()
}
Function EXCEL-Set-Zoom([__ComObject]$sheet, [Int]$zoom){
<#
.SYNOPSIS
シートの拡大率を設定する
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
if(!$zoom){$zoom = 100}
Write-Output $sheet.Name
$visible = $sheet.Visible
if($visible -eq 0){
$sheet.Visible = -1
}
$sheet.Activate()
$sheet.Parent.Parent.ActiveWindow.Zoom = $zoom
if($visible -eq 0){
$sheet.Visible = $visible
}
}
Function EXCEL-Set-ZoomALL([__ComObject]$book, [Int]$zoom){
<#
.SYNOPSIS
EXCEL-Set-Zoomの全シート版
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
if(!$zoom){$zoom = 100}
$current_sheet = $book.ActiveSheet
$book.WorkSheets | %{
EXCEL-Set-Zoom $_ $zoom
}
$current_sheet.Activate()
}
Function EXCEL-Set-FinalState([__ComObject]$book){
<#
.SYNOPSIS
全シートを非表示解除、A1選択状態、拡大率100%にし、一番左のシートを選択状態にする
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
$book.WorkSheets | %{
Write-Output $_.Name
EXCEL-Set-Visible $_ | Out-Null
EXCEL-Set-A1 $_ | Out-Null
EXCEL-Set-Zoom $_ 100 | Out-Null
}
$book.WorkSheets(1).Activate()
}
Function EXCEL-Get-FormatConditionsALL([__ComObject]$sheet){
<#
.SYNOPSIS
シートに設定されている条件付き書式をすべて取得する
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
$sheet.Cells.FormatConditions
}
Function EXCEL-Add-FormatConditions-Formula([__ComObject]$sheet, [String]$range, [String]$formula, [Boolean]$StopIfTrue){
<#
.SYNOPSIS
シートに数式条件の条件付き書式を追加する(具体的な書式はデフォルトになる)
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
if(!$range){
throw "対象範囲を指定して下さい"
}
if(!$formula){
$formula = $true
}
if(!$StopIfTrue){
$StopIfTrue = $false
}
$new_fc = ($sheet.Range($range).FormatConditions.Add(2, "", $formula))
$new_fc.StopIfTrue = $StopIfTrue
$new_fc
}
Function EXCEL-Duplicate-FormatConditions([__ComObject]$sheet, [String]$range, [__ComObject]$fc){
<#
.SYNOPSIS
指定された条件付き書式をシートに複製する(具体的な書式はデフォルトになる)
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
if(!$fc){
throw "複製する条件付き書式オブジェクトを指定して下さい"
}
$new_fc = ($sheet.Range($range).FormatConditions.Add($fc.Type, $fc.Operator, $fc.Formula1, $fc.Formula2))
$new_fc.StopIfTrue = $fc.StopIfTrue
$new_fc
}
Function EXCEL-Delete-FormatConditionsALL([__ComObject]$sheet){
<#
.SYNOPSIS
シートに設定されている条件付き書式をすべて削除する
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
$sheet.Cells.FormatConditions.Delete()
}
Function EXCEL-Get-UserStyleALL([__ComObject]$book){
<#
.SYNOPSIS
ブックに設定されているユーザ定義スタイルをすべて取得する
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
$book.Styles | ?{$_.Builtin -eq $false}
}
Function EXCEL-Delete-UserStyleALL([__ComObject]$book){
<#
.SYNOPSIS
ブックに設定されているユーザ定義スタイルをすべて削除する
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
$book.Styles | ?{
$_.Builtin -eq $false
} | %{
Write-Output $_.Name
$_.Delete() | Out-Null
}
}
Function EXCEL-Export-PDF([__ComObject]$sheet){
<#
.SYNOPSIS
シートをPDFにエクスポートする
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
$export_dir = ($sheet.Parent.Path + "\【PDF】" + $sheet.Parent.Name)
if(!(Test-Path ($export_dir))){
mkdir -Force ($export_dir)
}
Write-Output $sheet.Name
Write-Host ("ExportDir: " + $export_dir)
$sheet.ExportAsFixedFormat(0, ($export_dir + "\" + $sheet.Name + ".pdf"))
}
Function EXCEL-Export-PDFALL([__ComObject]$book){
<#
.SYNOPSIS
EXCEL-Export-PDFの全シート版
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
$book.WorkSheets | %{
EXCEL-Export-PDF $_
}
}
Function EXCEL-Export-PDFBook([__ComObject]$book){
<#
.SYNOPSIS
ブック全体をまとめてPDFにエクスポートする
#>
if(!$book){$book = $global:EXCEL_BOOK}
if(!$book){
throw "対象ワークブックオブジェクトを指定して下さい"
}
Write-Output $book.Name
Write-Host ("ExportDir: " + $book.Path)
$book.ExportAsFixedFormat(0, ($book.Path + "\" + $book.Name + ".pdf"))
}
Function EXCEL-Get-Table2Object([__ComObject]$sheet, [String]$range){
<#
.SYNOPSIS
Excelのテーブルをオブジェクトとして取得する関数
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
if(!$range){
throw "対象範囲を指定して下さい(例:B3:D10)"
}
$start = $sheet.Range(($range -split ":")[0])
$end = $sheet.Range(($range -split ":")[1])
# テーブルオブジェクト作成
$table = [PSCustomObject]@{
key = @()
data = @()
}
#$table = New-Object PSCustomObject
#$table | Add-Member -MemberType NoteProperty -Name key -Value @()
#$table | Add-Member -MemberType NoteProperty -Name data -Value @()
# テーブルをオブジェクト化
for($row=$start.Row; $row -le $end.Row; $row++){
# 最初にデータの無い行は無視
if($sheet.cells.item($row, $start.Column).text -eq "" ){
continue
}
# 1レコード用オブジェクトを準備
$record = New-Object PSCustomObject
$key_ref_number = 0
for($col=$start.Column; $col -le $end.Column; $col++){
# 最初にデータの無い列は無視
if($sheet.cells.item($start.Row, $col).text -eq "" ){
continue
}
# 1行目の値からキー名作成
if($row -eq $start.Row){
$table.key += $sheet.cells.item($row, $col).text
}
# 1レコード作成
else{
$key_name = ($table.key[$key_ref_number])
$val = ($sheet.cells.item($row, $col).text)
$record | Add-Member -MemberType NoteProperty -Name $key_name -Value $val
$key_ref_number += 1
}
}
# 1レコード追加
if($row -gt $start.Row){
$table.data += $record
}
}
return $table
}
Function EXCEL-Find-Cells([__ComObject]$sheet, [String]$range, [String]$reg){
<#
.SYNOPSIS
Rangeで指定されたセルから正規表現にマッチするセルを取得する
#>
if(!$sheet){
throw "対象シートオブジェクトを指定して下さい"
}
$sheet.Range($range) | ?{$_.Text -match $reg}
}
#### 使い方兼テストコマンド
# ブック開く系
#EXCEL-Get-BookALL | %{EXCEL-Get-SheetsName $_}
#EXCEL-Get-BookList | %{EXCEL-Get-Book $_ | %{EXCEL-Show-BookInfo $_}}
# アクティブ取得系
# EXCEL-Get-ActiveSheet | %{EXCEL-Get-ActiveCells $_ | %{$_.Text}}
# EXCEL-Get-ActiveSheet | %{EXCEL-Get-ActiveCellsAddress $_}
# シート追加/削除系
#EXCEL-Get-Book | %{EXCEL-Add-Sheet $_}
#EXCEL-Get-Book | %{EXCEL-Add-Sheet $_ "TEST_SHEET"}
#EXCEL-Get-Book | %{EXCEL-Add-Sheet $_ "TEST_SHEET"} # エラーになるのが正しい
#EXCEL-Get-Book | %{EXCEL-Show-SheetInfoALL $_}
#EXCEL-Get-Book | %{$_.WorkSheets | ?{$_.Name -match "TEST.*"} | %{EXCEL-Delete-Sheet $_}}
#EXCEL-Get-Book | %{EXCEL-Show-SheetInfoALL $_}
# オートフィルタ系
#EXCEL-Get-Book | %{EXCEL-Clear-AutoFilterALL $_}
#EXCEL-Get-Book | %{EXCEL-Set-AutoFilterALL $_ "B3:E10" 4 @("a", "-")}
# シートの見た目を整える系
#EXCEL-Get-Book | %{EXCEL-UnSet-VisibleALL $_}
#EXCEL-Get-Book | %{EXCEL-Set-VisibleALL $_}
#EXCEL-Get-Book | %{EXCEL-UnSet-VisibleALL $_}
#EXCEL-Get-Book | %{EXCEL-Set-A1ALL $_}
#EXCEL-Get-Book | %{EXCEL-Set-ZoomALL $_ 50}
#EXCEL-Get-Book | %{EXCEL-Set-A1ALL $_ "C5"}
#EXCEL-Get-Book | %{EXCEL-Set-FinalState $_}
# 条件付き書式系
#EXCEL-Get-Book | %{$_.ActiveSheet | %{EXCEL-Delete-FormatConditionsALL $_}}
#EXCEL-Get-Book | %{$_.ActiveSheet | %{EXCEL-Get-FormatConditionsALL $_}}
#EXCEL-Get-Book | %{$_.ActiveSheet | %{EXCEL-Add-FormatConditions-Formula $_ "A1:E10"}}
#EXCEL-Get-Book | %{$_.ActiveSheet | %{EXCEL-Add-FormatConditions-Formula $_ "A1:F10" '=ISBLANK(A1)=True'}}
#EXCEL-Get-Book | %{$_.ActiveSheet | %{EXCEL-Add-FormatConditions-Formula $_ "A1:F10" '=ISBLANK(A1)=True' $true}}
#EXCEL-Get-Book | %{$_.ActiveSheet | %{EXCEL-Duplicate-FormatConditions $_ "C3:I6" $_.Cells.FormatConditions(2)}}
#EXCEL-Get-Book | %{$_.ActiveSheet | %{EXCEL-Duplicate-FormatConditions $_ "C3:I6" $_.Cells.FormatConditions(3)}}
#EXCEL-Get-Book | %{$_.ActiveSheet | %{EXCEL-Get-FormatConditionsALL $_}}
#EXCEL-Get-Book | %{$_.ActiveSheet | %{EXCEL-Delete-FormatConditionsALL $_}}
#EXCEL-Get-Book | %{$_.ActiveSheet | %{EXCEL-Get-FormatConditionsALL $_}}
# ユーザ定義スタイル系
#EXCEL-Get-Book | %{EXCEL-Get-UserStyleALL $_}
#EXCEL-Get-Book | %{EXCEL-Delete-UserStyleALL $_}
#EXCEL-Get-Book | %{EXCEL-Get-UserStyleALL $_}
# オリジナル系
#EXCEL-Get-Book | %{EXCEL-Get-Table2Object $_.ActiveSheet "B3:E9" | %{$_.data | %{echo ("Index" + $_.b);echo (" test: " + $_.c)}}}
#EXCEL-Get-Book | %{$_.ActiveSheet | %{EXCEL-Find-Cells $_ "A1:E10" "a" | %{$_.Address();$_.Interior.ColorIndex = 6}}}
# PDFエクスポート系
#EXCEL-Get-Book | %{EXCEL-Export-PDFALL $_}
#EXCEL-Get-Book | %{EXCEL-Export-PDFBook $_}
Name Synopsis
---- --------
EXCEL-Get-Book 既に開かれているExcelブックからブックオブジェクトを選択して出力する関数
EXCEL-Get-BookList 既に開かれているExcelブックのブック名をすべて出力する関数
EXCEL-Get-BookALL 既に開かれているExcelブックからすべてのブックオブジェクトを出力する関数
EXCEL-Check-ColorIndex 確認用にColorIndexの色でA列を塗り潰す関数
EXCEL-Get-ActiveSheet アクティブシートを返す関数
EXCEL-Get-ActiveCells 指定したシートの選択中のセルを返す関数
EXCEL-Get-ActiveCellsAddress 指定したシートの選択中のセルのアドレスを返す関数
EXCEL-Show-BookInfo ブック情報を色々と表示する
EXCEL-Get-SheetsName 全シート名を出力する
EXCEL-Add-Sheet ブックに指定された名前のシートを追加する
EXCEL-Delete-Sheet ブックからシートを削除する
EXCEL-Show-SheetInfo シートの様々な情報を出力する
EXCEL-Show-SheetInfoALL EXCEL-Show-SheetInfoの全シート版
EXCEL-Set-AutoFilter シートにフィルタを設定する...
EXCEL-Set-AutoFilterALL EXCEL-Set-AutoFilterの全シート版
EXCEL-Clear-AutoFilter シートのフィルタを解除する
EXCEL-Clear-AutoFilterALL EXCEL-Clear-AutoFilterの全シート版
EXCEL-Set-Visible シートを表示する
EXCEL-Set-VisibleALL EXCEL-Set-Visibleの全シート版
EXCEL-UnSet-Visible シートを非表示にする
EXCEL-UnSet-VisibleALL EXCEL-UnSet-Visibleの全シート版
EXCEL-Set-A1 シートをA1選択状態にする
EXCEL-Set-A1ALL EXCEL-Set-A1の全シート版
EXCEL-Set-Zoom シートの拡大率を設定する
EXCEL-Set-ZoomALL EXCEL-Set-Zoomの全シート版
EXCEL-Set-FinalState 全シートを非表示解除、A1選択状態、拡大率100%にし、一番左のシートを選択状態にする
EXCEL-Get-FormatConditionsALL シートに設定されている条件付き書式をすべて取得する
EXCEL-Add-FormatConditions-Formula シートに数式条件の条件付き書式を追加する(具体的な書式はデフォルトになる)
EXCEL-Duplicate-FormatConditions 指定された条件付き書式をシートに複製する(具体的な書式はデフォルトになる)
EXCEL-Delete-FormatConditionsALL シートに設定されている条件付き書式をすべて削除する
EXCEL-Get-UserStyleALL ブックに設定されているユーザ定義スタイルをすべて取得する
EXCEL-Delete-UserStyleALL ブックに設定されているユーザ定義スタイルをすべて削除する
EXCEL-Export-PDF シートをPDFにエクスポートする
EXCEL-Export-PDFALL EXCEL-Export-PDFの全シート版
EXCEL-Export-PDFBook ブック全体をまとめてPDFにエクスポートする
EXCEL-Get-Table2Object Excelのテーブルをオブジェクトとして取得する関数
EXCEL-Find-Cells Rangeで指定されたセルから正規表現にマッチするセルを取得する
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment