2010年7月21日水曜日

[VBA]ワークシート上に置いたDTPickerコントロールの表示崩れ対策

理由あって、会社のPC上でExcel VBAでマクロを組むことになりました。

日付入力で「Microsoft Date and Time Picker Controll 6.0」(DTPicker)を使って、簡単にちょいちょいと作ろうとしたところ(※1)、起動時に奇怪な現象が発生。

(1)該当の.xlsファイルを起動する。
(2)DTPickerの中に赤い「×」が一瞬表示され、設定したサイズとは大きく異なる矩形に変形。
(3)デザインモードにすると設定したサイズで表示しなおされるが、デザインモードを終了すると矩形に戻る。
(4)一応、設定した日付は表示されている。
(5)スクロールしたりして、再描画が走ると設定したサイズで表示される。


何これ?
Google先生に聞いてみるも、あまり発生している人はいないのかこれという解決策は見当たらず。

(5)でシートの再描画が行われると正常に表示されることから、Bookオープン時に強制再描画を行うことで無理やり解決しました。
一瞬、「×」が見えるのがいただけませんが・・・。


※1:会社のPCはVisual StudioのライセンスがあるのでActiveX利用で問題ないかな、ということでAPI呼び出しは見送り。

1 件のコメント:

  1. 同じ症状が発生し、ここにたどり着きました。
    その後、解決策は見つかりましたか?

    返信削除