前の関連記事:Calc(88)入力履歴を保持するダイアログと定型句を保持するダイアログの例
日付入力ダイアログの例
DialogsformyR2.ods
仕組みはCalc(88)入力履歴を保持するダイアログと定型句を保持するダイアログの例と同じです。
1行目にdatedialog1という文字列のある列の2行目以降をダブルクリックすると日付選択ダイアログが出現します。
ダイアログを開いた時に数値フィールドコントロールにフォーカスをあてているので、マウスホイールを回すと週が入れ替わっていきます。
グリッドコントロールの行をダブルクリックするとその日付がセルに入力されます。
ダブルクリックしたセルにすでに日付シリアル値が入力されているときは、その値を基準にして週を表示します。
(2018.9.5追記。マウスのスクロールボタンを上にスクロールすると数値フィールドの値が増加するので日付が未来になっていきます。これは直感と食い違うので数値フィールドモデルのValueStepを1ではなく-1にした方がよいです。)
日付入力ダイアログを生成するモジュール
datedialog1.py
このモジュールにあるの関数createDialog()で日付入力ダイアログを生成します。
createDialog(xscriptcontext, enhancedmouseevent, dialogtitle, formatstring=None)xscriptcontextはXSCRIPTCONTEXT、 enhancedmouseeventはXEnhancedMouseClickHandlerのメソッドの引数、dialogtitleはダイアログのタイトルにする文字列(ダイアログのデータを保存する名前にも使用)、formatstringは日付を入力するシートのセルの書式の書式文字列を渡します。
formatstringを渡さない時は、セルが日付書式が設定されていないときは、日付のシリアル値が表示されます(Calc(31)セルへ日付を入力する方法参照)。
0 件のコメント:
コメントを投稿