2024/09/29

Notes - Excel 連携:#40)訂正 - 名前アイコン生成

前回まで、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 件のコメント:

コメントを投稿