フォルダ配下のExcelを全てPowerShellスクリプトを使って指定のExcelのシートをxlVeryHiddenにする(複数)

# 必要なCOMオブジェクトをインポート
Add-Type -AssemblyName Microsoft.Office.Interop.Excel

# Excelアプリケーションオブジェクトを作成
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$excel.DisplayAlerts = $false

# 操作するフォルダのパスを指定
$folderPath = "C:\Path\To\Folder"

# フォルダ内のExcelファイルを取得
$excelFiles = Get-ChildItem -Path $folderPath -Filter *.xlsx -Recurse

# 各Excelファイルに対して処理を行う
foreach ($excelFile in $excelFiles) {
# Excelファイルを開く
$workbook = $excel.Workbooks.Open($excelFile.FullName)

# 取得したシートをxlVeryHiddenに設定
foreach ($sheet in $workbook.Sheets) {
# シート名に指定の文字列を含む場合にxlVeryHiddenに設定
if ($sheet.Name -like '*指定の文字列*' -or $sheet.Name -like '*指定の文字列2*') {
$sheet.Visible = [Microsoft.Office.Interop.Excel.XlSheetVisibility]::xlVeryHidden
}
}

# Excelファイルを保存して閉じる
$workbook.Save()
$workbook.Close()
}

# Excelアプリケーションを終了
$excel.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) | Out-Null
Author: gaa

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です