エンドユーザのデータ検索ツールとして取引先からもらったよう。
検索用のシートの関数を見ると別シートのデータを参照している。データも抱き込んだEXCELブックだ。
そのデータを活用したいとのこと。
特にオープンにしたくないデータでは無く、エンドユーザに触られてデータが変わってしまうのを防ぐ意味だろう。かと言って、データの依頼は気が引けるらしい。特に大した意味は無くても隠しているデータなので、気持ちは分からなく無い。
EXCELの操作ではよく分からなかった。結局、EXCELブックのファイルをzipにして、構成されているxmlの中を見てみた。
ファイルをコピー → 拡張子.xlsx を .zip に → .zipを展開 → EXCELブックのファイル名でフォルダが出来、中に展開される。zipの展開は、Windows標準で、ファイル名を右クリックで「全て展開…」。
展開したフォルダ内の \xl\worksheets 内を見てみる。sheet1.xml と sheet2.xml があることを確認。エディターで開いて中を見る。EXCELで表示されていたのがsheet1.xmlで、sheet2.xmlが表示されていなかったシートのよう。
\xl\_rels\workbook.xml.rels をエディターで見る。
<Relationship Id=”rId2″ …略… Target=”worksheets/sheet2.xml”/> の記述がある。
\xl\workbook.xml を見る。
<sheet name=”aaa” sheetId=”1″ state=”hidden” r:id=”rId2″/> の記述がある。
workbook.xml.rels の r:id=rId2 が対応している。
ここの state=”hidden” を消して上書きする。
フォルダの中身をまとめて再zip化、拡張子を .xslx に戻してEXCELで開くと表示された。
zipに圧縮する際は、フォルダを圧縮するのでなく、エクスプローラでフォルダの中を表示した状態で、中のフォルダ,ファイルを全選択した上で圧縮する。
コメント