エクセルシステム開発専門

 Excel最新版対応

 Excel2003以前のマクロをExcel最新版でも動作可能に

 背景

Y社では、Excel2000~2003の各バージョンで動作するExcelマクロによるツールを作って、得意先に配布していました。ところが、Excelの新しいバージョンを導入した先から突然マクロが動作しなくなりました。

まず、起動直後にエラーメッセージが出て動かない他、印刷だけ試みても画像が印刷されない等の問題が多々見つかりました。作った業者に修正を依頼したところ、新規で作り直すべきとの診断が下り、少なくない金額の見積もりが出たそうです。

 依頼内容

Y社からの依頼は、「Excel2007で、今まで通り動作できるようにしてほしい」というものでした。

もともとかなり作り込んであったため、新たに作り直すとそれなりに時間がかかってしまいます。
その間、得意先に「使わないで下さい」というわけにもいかず、1ヶ月以内で対応できるよう、Excel2007の互換モードで動作するような修正を行うこととなりました。

この時点では、マクロやシートに保護がかかっていたため、どのような対応が必要かを全て把握できていませんでしたが、1ヶ月もあれば何とかなるだろうとの見込みで対応することにしました。

 対応内容

保護を解除して分析してみると、かなり無駄な動きが入っていることがわかりました。
とはいえ、今回は時間優先なので、2007の互換モードで動作さえできれば、こうした要素は温存することにしました。

しかし、不必要に図形を使った表現がなされているため、2007で印刷(もしくはプレビュー)を行うと、図形部分が印刷されない不具合が多々発生します。様々な方式を試してみましたが、解消の目処がたちません。 2007で当該部分を作り直してみましたが、それでも直らないところを見ると、Excel2007固有のバグのようです。

そこで、マイクロソフト認定パートナーとしての立場を利用し、マイクロソフト社へ当該事象の原因について照会を行いました(有償)。
この結果、やはりExcel2007のバグらしいということが判明しましたが、この過程で「一定の条件下であれば、印刷可能」な方法が見つかりました。但し、処理時にボタン一発というわけにはいかず、ダイアログをひとつ挟むことにしました。

 対応結果

こうした対応の結果、ぎりぎり1ヶ月経過するころの納品となりましたが、何とかExcel2007で一通りの機能が動作するような対応を終えることができました。もちろん、同じファイルでExcel2000~2003にも対応できます。

実は、この案件はマイクロソフトへの質問費用などの思わぬ出費がかさなったこともあり、大幅な赤字となってしまいました。
しかし、こうした経験の積み重ねが将来のサービスの品質へつながります。こうした考えの基、たとえ短期的には赤字でも、途中で投げ出したことはこれまで一度もありません。

このケースは「Excel2007対応」の一例ですが、今はExcel2010,2013の対応が増えています。すでにいくつか対応してる事例もありますので、お困りの際はお気軽にご連絡ください。

サイトマップ

ロゴ、その他のサービス名、製品名は、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。

Copyright© Crescendo Inc. All rights reserved.