FC2ブログ

はっしーのデジタルワーク

コンピュータ利用からデジタルに関わる様々なことを書き記します。

Excelのデータは、ZIP圧縮されたXMLファイルの塊りです  

 Microsoft Excelのファイルは、XMLファイル群をZIP圧縮したものです。

突然とんでもない話題の備忘録ですが、豆知識として紹介します。

1年程前、Excel  2007(2010以降でも動くのですが)でVBA(Visual Basic Application)を利用したシステムを依頼されて作成しました。そこで、メニューを用意するために、作成した機能をユーザー定義のリボンメニュー(Excelの画面上部にアイコン等で表示される機能ボタン見たいなものです)にアイコンで割り当てました。最近、当システムの改善を頼まれて実施したのですが、ユーザーカスタマイズのリボンメニューの定義内容を変更する必要があって直したのですが、修正したものを適用させる時に方法を忘れてしまってしばらく呆然としてしまいました。

最後には思い出すことができたのですが、普段はEvernote等に自分が体験し習得したノウハウ(たいしたものではないですが)を記録して、いつでもどこでも自分自身で参照できるようにしていたのですが、今回自分の備忘録が見つからなくて大変困ったのでした。また、1年前は忘れずはずがないと思いこんでいたせいもあります。そんなことを防ぐためにも最近、多重防御のため、ブログにも書き留めておくようにしたのです。

前置きは長くなりましたが、Excelのデータファイル(2007以降の.xlsxファイルです)は、複数のxmlファイルが所定のフォルダに構成されZip圧縮されてものです。
それでは、サンプルを使って解読してみましょう。
まずは、以下のようなExcelファイルを作りました。五十音のひらがなを並べただけです。
テスト作成したエクセルデータ 
ファイル名は、Gojuon.xlsxとしました。
最初に、ファイル名の拡張子を変更します。Gojuon.xlsx  を  Gojuon.zip  とするだけです。
そして、このZipファイルを解凍してみて下さい。Macで解凍した結果の画面は、以下の通りです。
Excelデータの内部構造

実は、PDFファイルも同じです。拡張子を.zipに変更して解凍してみましょう。
WindowsでもMacでも同じです。
このExcelファイルをZip解凍してみた所で、わざわざxmlファイルを修正してExcelファイルを直すような事をする人はいないと思います。
私は、ユーザー定義のリボンメニューを変更する必要から、xmlファイルを修正しなければならなかったのです。リボンメニューを日本語で表示させるためにです。ユーザー定義のリボンメニューの作成方法については、長くなりますので、別の機会に掲載させていただきます。

最後に重要な事。解凍し編集したものを元のようにxlsxファイルを戻す方法です。解凍時とは逆に、zip圧縮して拡張子を.xlsxにすれば良いだけなのですが、問題は、どこのレベル(フォルダ位置で)で圧縮ファイルを作るかです。
解凍時には、ファイル名でフォルダが作られてその中に解凍されますが、zip圧縮ファイルに戻す時は、圧縮する場所を間違えないようにしましょう。サンプルの場合では、Gojuonフォルダの中で全てのファイルとフォルダを選択してzip圧縮する事を忘れないようにして下さい。
圧縮・解凍のアプリの性格を考えれば当然の事と後で気がつくのですが、急いでいる時はそれに気がつくまで、パニックに状態になります。しかも仕事の締切直前になっていますと!
で、備忘録に緊急掲載させていただいた次第です。これで、もう忘れることはないでしょう。


関連記事

Posted on 2014/04/16 Wed. 13:53 [edit]

category: excel

tb: 0   cm: 0

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://yhashii.blog.fc2.com/tb.php/5-1c80be79
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

最新記事

最新コメント

FC2ブログランキング

月別アーカイブ

カテゴリ

カウンター

ユーザータグ

メールフォーム

最新トラックバック

リンク

検索フォーム

RSSリンクの表示

ブロとも申請フォーム

QRコード


▲Page top