以下の手順で、バッチファイルとPowerShellスクリプトを作成します。 手順 PowerShellスクリプトの作成 以下のPowerShellスクリプトは、特定のフォルダ内の全てのエクセルファイルを読み込み、指定したシートを結合して新しいエクセルファイルに保存します。 # PowerShellスクリプト: MergeExcel.ps1 --- param ( [string]$inputFolder = "C:\Path\To\Input\Folder", [string]$outputFile = "C:\Path\To\Output\Folder\MergedSchedule.xlsx", [string]$sheetName = "Sheet1" ) # Excelアプリケーションの起動 $Excel = New-Object -ComObject Excel.Application $Excel.Visible = $false $Excel.DisplayAlerts = $false # 新しいブックを作成 $workbookMerged = $Excel.Workbooks.Add() $sheetMerged = $workbookMerged.Sheets.Item(1) $sheetMerged.Name = $sheetName # 入力フォルダ内の全てのエクセルファイルを取得 $files = Get-ChildItem -Path $inputFolder -Filter "*.xlsx" $row = 1 foreach ($file in $files) { $workbook = $Excel.Workbooks.Open($file.FullName) $sheet = $workbook.Sheets.Item($sheetName) $usedRange = $sheet.UsedRange $usedRange.Copy() $sheetMerged.Paste($sheetMerged.Cells.Item($row, 1)) $row += $usedRange.Rows.Count $workbook.Close() } # 統合結果を保存 $workbookMerged.SaveAs($outputFile) $workbookMerged.Close() $Excel.Quit() --- バッチファイルの作成 以下のバッチファイルは、上記のPowerShellスクリプトを実行します。 --- @echo off set inputFolder=C:\Path\To\Input\Folder set outputFile=C:\Path\To\Output\Folder\MergedSchedule.xlsx set sheetName=Sheet1 powershell.exe -ExecutionPolicy Bypass -File "C:\Path\To\MergeExcel.ps1" -inputFolder "%inputFolder%" -outputFile "%outputFile%" -sheetName "%sheetName%" --- 使い方 MergeExcel.ps1 を PowerShell スクリプトとして保存します(例: C:\Path\To\MergeExcel.ps1)。 バッチファイルを .bat 拡張子で保存します(例: MergeExcel.bat)。 バッチファイル内の inputFolder と outputFile のパスを適宜設定します。 バッチファイルを実行します。 この方法で、指定したフォルダ内の全てのエクセルファイルの特定シートを統合し、新しいエクセルファイルとして保存できます。