mr/Excelのシート名一覧をコピーしたい
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* 手動でコピー [#w745394b]
- Excel でファイル開く
- Alt-F11 > Ctrl-G
- イミディエイトウィンドウで実行: For Each i In ThisWork...
- 結果をコピペ
IMEの辞書に適当な読み方(例 ;えく、;まくろ、をえくせる...
> For Each i In ThisWorkbook.Sheets: debug.print i.name :...
を登録しておくとラクです
** 参考 [#l275a9c0]
- [[超簡単!エクセルのシート一覧から一発表示させるテク!>...
* 別解 [#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ファイルをドラッグ&ドロップしてくだ...
pause
exit
}
# Excelファイルの存在確認
if (-not (Test-Path $ExcelFile)) {
Write-Host "指定されたExcelファイルが見つかりません。...
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 "シート名をクリップボードにコピーしました...
} catch {
Write-Host "エラーが発生しました: $($_.Exception.Mess...
} finally {
# リソース解放
if ($Workbook) { $Workbook.Close($false) }
$Excel.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComO...
Remove-Variable -Name Excel
}
}}}
終了行:
* 手動でコピー [#w745394b]
- Excel でファイル開く
- Alt-F11 > Ctrl-G
- イミディエイトウィンドウで実行: For Each i In ThisWork...
- 結果をコピペ
IMEの辞書に適当な読み方(例 ;えく、;まくろ、をえくせる...
> For Each i In ThisWorkbook.Sheets: debug.print i.name :...
を登録しておくとラクです
** 参考 [#l275a9c0]
- [[超簡単!エクセルのシート一覧から一発表示させるテク!>...
* 別解 [#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ファイルをドラッグ&ドロップしてくだ...
pause
exit
}
# Excelファイルの存在確認
if (-not (Test-Path $ExcelFile)) {
Write-Host "指定されたExcelファイルが見つかりません。...
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 "シート名をクリップボードにコピーしました...
} catch {
Write-Host "エラーが発生しました: $($_.Exception.Mess...
} finally {
# リソース解放
if ($Workbook) { $Workbook.Close($false) }
$Excel.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComO...
Remove-Variable -Name Excel
}
}}}
ページ名: