Office 2003に入っているExcel 2003にはXMLスプレッドシート出力機能っていうのがあります。
マクロの組み込んだブックは保存できないんですが、静的な内容は完璧に保存して復元できます。(スゴイ)
いままで変に設定された書式情報なんかを消したりするのは至難の業でしたが、xml保存して中身をのぞいて、いやな書式をずばっと置換すればあっという間にきれいになります。
これでxlsに戻したときもサイズが小さくなっていうことなし。ぜひ皆さんも戯れてみてください。
で、以下のXSLファイルをそのExcelスプレッドファイルに当てるとシート名の一覧が取り出せます。
VBAでももちろん書き出せるんですが、XML+XSLTの方がより「っぽい」でしょ(^^
ついでにXMLとXSLT当てるやつも作ったんでそのうち公開(誰でも作れるけど)
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
>
<xsl:output method="text" />
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="ss:Worksheet">[<xsl:value-of select="@ss:Name" />]
<xsl:apply-templates /></xsl:template>
<xsl:template match="text()" />
</xsl:stylesheet>