以前、http://ameblo.jp/tech-note/entry-10066425212.html
 で書いたことに加え、いろいろ見えてきたので、実務的観点からノウハウ的に書いておく。




◆顧客と自社のOfficeのバージョンをあらかじめ確認しておく。


これは体験から。2007と2003以前だとオートシェイプ系の表示がずれる。納品ドキュメントはもちろんのこと、通常やりとりするものも双方のストレスにしかならないので、予め確認し、極力合わせるようにした方がよい。場合によっては顧客側がバージョンアップを予定しているなら、バージョンアップ前後ともにどうしておくかを考慮する必要がある。


あらかじめ分かっていれば「じゃあいつまではずれるのは仕方ないよね」「修正するのに工数がかかるよね」という話を引き出せるかもしれないが、後付だとまず交渉の余地はないだろう。






◆互換性を保てる部分は極力保つ


2007からの新機能なら比較すれば分かるかも知れないが、従来通りの機能で仕様が変わっていたりすると理論上よさそうでもうまくいかないことがある。


余談だが、Excelのバージョンが5から95(内部バージョン7.0)になったとき、内部での文字コードが ASCII + ShiftJIS から UNI コードに変わった。それにより、例えば文字のバイト数を取ろうと使っていた LenB という関数の仕様が変わり、従来 A なら 1 と返すのを、2 と返すようになった、という事があった。




今回で言えば


・2003以前だと2007で作成したオートシェイプ内の文字がきちんと表示されない


というのがそれにあたるだろうか。




これは上記リンク先に対策を書いたので省く。




あとは新機能ではあるが


・スマートアートアートは使わない。以前のバージョンではテキスト編集できない。



がある。






他にもいろいろあるのだろうけれど、情報をお持ちでしたらご提供いただければと存じます。








※以前書いていた気もするのですが、ちょっと見た限りではなかったので書いておきます。


このブログを読まれた方から質問があったので、それに関することをネタにさせていただく。


VBAのコードは保護することができる。VBAのIDEのメニューバーから[ツール]-[(プロジェクト名)のプロパティ]で出現するダイアログボックスの[保護]タブを選択し、[プロジェクトのロック]の[プロジェクトを表示用にロックする]にチェックを入れ、併せてパスワードを設定するといい。

※上記のプロジェクト名、デフォルトは「VBAProject」である。


ここでは敢えて紹介しないが、ロックをしていても世の中には破る方法がある。開いてしまえばソースコードが丸見えになってしまうのだ。


しかし、そのロックを破るツールでも「破れない」設定がある。


ずいぶん昔に「破り方」「破るれないようにする設定」を知る機会があったが、検証はしていない。

なお、検証したとしても、あまりおおっぴらに紹介はしない方がいいんだろうな、とは思う。



実務でExcelでクライアント/サーバーシステムを作ったことはある。というよりも、業務でExcelを活用しようとすると、やはりデータベースとの連携をされている方は多いのではないだろうか?


しかし、システムとしてクライアント/サーバーシステムよりもWebシステムが力を伸ばしつつある。ここはひとつ、ExcelでWebアプリを実験しておこうと思う。


参考図書は以前にも紹介したが

VBAによるTCP/IPプログラミング入門―HTTP,SMTP,POP3,FTPの基本がわかる (TCP・IP基礎シリーズ)/志村 康人


である。


先々はExcelからWebへリクエストを出して結果をスプレッドシート上に展開/データ更新をできるシステムを実験的に作成するつもりである。

上記の練習台として

・Webページのリンクを収集する。

・Webページ上の画像をごっそり保存する。

などを手始めに、いろいろと作ってみようと思う。