#author("2025-01-09T13:45:45+09:00","default:nobuoki","nobuoki") #author("2025-01-09T13:46:04+09:00","default:nobuoki","nobuoki") * 手動でコピー [#w745394b] - Excel でファイル開く - Alt-F11 > Ctrl-G - イミディエイトウィンドウで実行: For Each i In ThisWorkbook.Sheets: debug.print i.name : next i - 結果をコピペ IMEの辞書に適当な読み方(例 ;えく、;まくろ、をえくせる)で For Each i In ThisWorkbook.Sheets: debug.print i.name : next i > For Each i In ThisWorkbook.Sheets: debug.print i.name : next i を登録しておくとラクです ** 参考 [#l275a9c0] - [[超簡単!エクセルのシート一覧から一発表示させるテク!>https://excel-doctor.jp/sheet-list/]] * 別解 [#x2a292d2] powershell で取得 #prism(batchfile){{{ C:\> pwsh Get-SheetNames.ps1 some.xlsx シート名をクリップボードにコピーしました。 }}} Get-SheetNames.ps1 #prism(powershell){{{ # ファイル名: 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 } }}}