カレンダー

2021/09
   
  
       

広告

Twitter

記事検索

ランダムボタン

CUI office

by 唐草 [2021/09/02]



 MS Officeのソースコードは公開されていない。でも、アプリが書き出すdocxやxlsxのファイル仕様は公開されており、周知のものとなっている。実際のところ文章や画像をひとまとめにしたZipファイルに過ぎない。拡張子をZipに変えて圧縮展開ソフトで開けば、埋め込んだ画像を取り出すことだってだきる。もっとも、そんなことをする機会は滅多に無いと思うけれど。
 仕様が分かっているなら互換ソフトを作ってしまおう。多くのプログラマはこう考える。その結果、様々な互換アプリやMS Office対応ライブラリが開発されてきた。今なら多くのプログラミング言語で自由にMS Office形式のファイルを読み込んだり、書き出したりすることができる。
 ぼくがWeb開発で使っているPHPという言語にも、有志が開発したOfficeライブラリがある。それを使えばアップロードされたxlsxを読み込んだり、処理結果をdocxでダウンロードさせることも簡単にできる。もっともここで言う「簡単」は、処理の仕組みが簡単というだけ。実際にコードを書くとなると、けっこうな行数を要することになる。
 エクセルを例に説明しよう。普段GUIを使ってマウス&キーボードで操作している内容を全部プログラミング言語に書き起こすという寸法だ。コマンドを使って「A1のセルに100を入力」「太字の書式設定をB3のセルに適用」というようなことを繰り返す。マクロを作るよりずっと泥臭い。
 この操作は、目隠しをしてエクセルを使うようなものである。将棋のプロは目の前に盤面がなくても将棋を指せると言う。エクセルのプロは、目の前にスプレッドシートがなくても操作できるのだろうか?残念なことに、ぼくは将棋もできないしエクセルのプロでもない。目隠しで操作をするなんて土台無理な話だ。
 結局の所、トライ&エラーの繰り返しとなる。何十回も書き出しをしてコードの整合性をチェックするはめになる。「目視に勝ることなし」という訳なのだが、コンピュータの使い方としては原始的過ぎる気がする。