225364 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

SE徒然日誌

SE徒然日誌

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2005/12/08
XML
カテゴリ:仕事
実際に開発している方にとっては「何を今更」って話ですが、
VBとExcelとの連携は注意が必要です。


他の言語は、業務で使ったことないので知りません。

尚、今回は使用している用語にすこぶる自信がありません。
意味を汲み取って下さい。訂正コメント大歓迎です。



■参照設定 (静的バインディングまたは事前バインディング) はしない

Excel(に限らずOffice製品)は、バージョンごとに利用するDLLが違います。

参照設定してると自動的にコーディング最中に自動ヒント
(.を入力した後に次のコード候補が出てくる奴)が出るので
便利ですが、異なるバージョンのExcel環境で実行しようとした時、
いきなりエラーで落ちます。
VB.NETにいたってはコンパイルすら通りません。

コード内で宣言してちゃんと動くかを検証するしかないでしょう。


■対応するExcelバージョン全てで動作確認をする

上のことが分かっていれば当然ですが、Excel2003で動くのに
Excel2000では動かないなんてことがあります。
お客さんと必ず握る必要があります。
まだExcel97が大半という会社もいっぱいあります。
Excel97についてはMicrosoftはサポートしていません。
問題が発覚してもどうしようもありません。


■同じExcelバージョンでも動いたり動かなかったり

サービスパックの有無だけで動いたり動かなかったりします。
しかも最悪なことにExcelのバージョンがSPまで同じであっても
XPだと動くのに2000だと動かないなんてこともありました。
お客さんとはOSも含めて握る必要があります。


■Excelのいろんな機能を使わない

Excelの機能をつかうと、かなり見栄えのよいものを出力できます。
が、大抵バージョン間の不具合が発生するのはその部分です。
Excel出力は、単純な一覧(SELECTを単純に出力したもの)程度に
して、それ以上の帳票(見積書とか)は、帳票ソフトと連携した方が
無難です。


■Excelがメモリに残りっぱなしになってない?

VBでExcelを実行してデータを貼り付け表示。
Excelを閉じた後、まだタスクにExcelが残っていたりしませんか?
1個残れば10回やったら10個残ります。
1日何回も再起動するわけないので結構な致命傷になります。

対処の仕方が、VB6.0時代にも問題になって、VB.NETになったら更に
深刻になっています。
Microsoftも対処法を提示しているし、最近ではちょっと調べれば
公開しているページもたくさんあります。



本職がプログラマーと自認しているので、コーディングレベルの話に
なると結構ネタはあるんですがこのくらいで。
(私のサイトにもそのうち書こうかとおもってます。)





お気に入りの記事を「いいね!」で応援しよう

Last updated  2005/12/09 12:33:29 AM
コメント(0) | コメントを書く


PR

Category

Keyword Search

▼キーワード検索

Recent Posts

Favorite Blog

システムエンジニア… hirocom6618さん

Comments

通りすがりのもの@ 参考になりました 失礼します。 日記の内容とまったく同じ…
Kandhi Dimu@ Re:名称(01/16) Fuzyさん >会社によって項目名って色々…
Fuzy@ 名称 会社によって項目名って色々違いますよね…
Kandhi Dimu@ Re:おっしゃるとおり(01/12) Fuzyさん >メールでやりとりをする場合…
Fuzy@ おっしゃるとおり 誠心誠意対応しても、怒っているお客様は…

Archives

2024/09
2024/08
2024/07
2024/06
2024/05

© Rakuten Group, Inc.
X