前回まで、3 回にわたって名前アイコン作成について紹介しました。その中で一部プログラムに訂正が発生したのでアップデートさせていただきます。訂正箇所は『#38)名前アイコン生成 ②』の以下の部分です。
--- 以下、訂正箇所
dPoint = PixcelToPoint(viPixcel-1) |
ちなみに端数処理の関係かはわかりませんが 1 ピクセル大きく出力されたので、1 引いています。
--- ここまで
問題点
まず発生する症状です。
作成するアイコンのサイズが奇数の場合、幅が 1 Pixcel 小さくなる症状が発生しました。
試しに 10 Pixcel から順にサイズを大きくしながらアイコンを作成したところ、以下のようになりました。
原因
記載時点でうすうす気づいていた通り、端数処理の問題ですね。内部処理で端数が出ない場合、1 を引くとサイズが小さくなるということなのでしょう。
ただ、高さについては指定通りのサイズになっています。幅と高さで端数処理が違うということになります。Excel は難しいですね。
修正内容
サイズそのままだと、当初経験した通りサイズが大きくなることがあり、今回 1 を引くと引きすぎということがわかりました。そこで、次のように修正しました。
dPoint = PixcelToPoint(viPixcel) - PixcelToPoint(1) / 2 |
Pixcel は整数なので、1 ピクセルをインチに変換してから、半分にして引いています。
この結果、指定したサイズで出力されるようになりました。もちろん、大きなサイズであっても正しく出力されています。
まとめ
今回は、過去の記事の訂正でした。検証の甘さで正しくない情報を公開してしまいました。記載時点で気になっていたのであれば、その時検証しなかったのか後悔しています。
実際の業務においても、業務の込み具合や費用対効果、時間の都合などで、黙殺することがあります。ただ、トラブルが発生しないことを黙殺するのはいいですが、問題が発生するのはよくありません。このあたりの嗅覚が腕の見せ所ですよね。もっと磨かねばと感じました...。
前回 | Notes - Excel 連携 | 次回
0 件のコメント:
コメントを投稿