IMEの辞書に適当な読み方(例 ;えく、;まくろ、をえくせる)で
For Each i In ThisWorkbook.Sheets: debug.print i.name : next i
を登録しておくとラクです
powershell で取得
C:\> pwsh Get-SheetNames.ps1 some.xlsx
シート名をクリップボードにコピーしました。
Get-SheetNames.ps1
# ファイル名: Get-SheetNames.ps1
param (
[string]$ExcelFile
)
if (-not $ExcelFile) {
Write-Host "Excelファイルをドラッグ&ドロップしてください。" -ForegroundColor Yellow
pause
exit
}
# Excelファイルの存在確認
if (-not (Test-Path $ExcelFile)) {
Write-Host "指定されたExcelファイルが見つかりません。" -ForegroundColor Red
exit
}
# Excelアプリケーションを作成
$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $false
$Workbook = $null
try {
# Excelファイルを開く
$Workbook = $Excel.Workbooks.Open($ExcelFile)
# シート名を取得
$SheetNames = @()
foreach ($Sheet in $Workbook.Sheets) {
$SheetNames += $Sheet.Name
}
# シート名を改行で結合
$SheetNamesText = $SheetNames -join "`r`n"
# クリップボードにコピー
Set-Clipboard -Value $SheetNamesText
Write-Host "シート名をクリップボードにコピーしました。" -ForegroundColor Green
} catch {
Write-Host "エラーが発生しました: $($_.Exception.Message)" -ForegroundColor Red
} finally {
# リソース解放
if ($Workbook) { $Workbook.Close($false) }
$Excel.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Excel) | Out-Null
Remove-Variable -Name Excel
}