同僚から「Excelのシート名の一覧が欲しいんけど、取得する方法ないかな?」とのこと、シート名をクリックしてコピー&ペーストすれば出来るけど、たくさんあると結構面倒くさいものです。
さくっとネットで調べまして、下記サイトの方法により簡単に取得することが出来ました。
http://ozakih2000.blog.so-net.ne.jp/2007-07-05
1.ALT+F11を押下(VBAエディタが起動)
2.CTRL+Gを押下(イミディエイトウインドウが起動)
3.「For Each i In ThisWorkbook.Sheets: debug.print i.name : next i」をタイプしてEnterを押下
4.シート名をコピー
5.VBAエディタを閉じる
さて、今回の件でネット上で「Excel シート 一覧」で検索していると、意外とExcelのシート名の一覧が欲しいって要望があるんですね。
上記の方法では複数のExcelファイルがあった場合、1つ1つExcelファイルを開かないと取得できないので面倒です。(もっとも、複数ファイルを一度にやることがあるのかな?)
ならば、Excelファイルをドラッグ&ドロップすれば、クリップボードにシート名の一覧が転送されたら便利だろうなと思い、久しぶりにVBScriptを使って、Excelのシート名一覧を取得するツールを作成してみました。
使い方は、「Excelシート名一覧取得.vbs」をデスクトップ(または指定フォルダ)に置き、該当のExcelファイル(複数可能)または、それを格納しているフォルダをドラッグ&ドロップしてください。
すると、クリップボードにファイル名とシート名一覧が転送されます。
注意として、クリップボードの転送機能でInternet Explorerを使用しています。Internet Explorer 7以降のバージョンを利用した場合、「この Web ページがクリップボードへアクセルするのを許可しますか」の警告ダイアログが表示されることがありますので、「アクセスを許可する」を選択してください。
Excelシート名一覧取得.vbs
Excelシート名一覧取得.vbsの中身は非常に単純であるため、必要であれば改変してご自由に使用してください。
ついでに、Excelシート集約ツールを拡張子「xlsx」に対応しました。
http://blogs.wankuma.com/yaju/archive/2008/09/08/155811.aspx