Top > OOobbs3 > 8
** [[OOobbs3/8]] [#va67bdcb]
-''サマリ'': カスタム番号付けプロバイダ
-''環境'': Writer
-''状態'': 投稿
-''投稿者'': [[はにゃ?]]
-''投稿日'': 2010-06-24 (木) 12:43:26
*** 質問 [#o9efb977]
Q&A にあるように、ページ番号などを独自のものにしようとすると選択できません。以前、変数で試すとヘッダとフッタはどうしても…。

定義済みの番号付けの追加方法を探したところ、表示されるものは css.style.NumberingTypes に定義されているものです。
このリストに従って css.text.DefaultNumberingProvider と番号付けの種類、値をやりとりします。
このサービスのラッパーを作成。一箇所どうしようもない挙動をしめすのでここに放置。

&ref(CustomNumberingProvider-0.1.1.oxt);

注意
- デフォルトのサービスをラップしているので動作が元よりも遅くなっています。不要なときには拡張機能マネージャから無効にするか、削除して下さい。
- バグについては下記参照

追加している番号付け
- 001, 002, ...

インストール
- PyUNO が必要
- 拡張機能マネージャからインストール。
- インストール後に OOo を再起動

アンインストール
- 拡張機能マネージャから削除
- OOo を再起動。

使いかた
- リストなどのダイアログで表示される番号付けの種類に上記の追加している番号付けが追加されています。
- 他の番号付けを選択するときと同様に操作して下さい。


- バグなど
-- StartCenter のファイル - 最近利用したファイルの履歴から該当する番号付けを含むドキュメントを開くと正しく番号付けが表示されない。ファイル - 開くからだと問題ない。一度空のドキュメント (Writer や Calc など) を開いた後なら問題ない。


番号付けの追加

独自の番号付けを追加するには拡張機能パッケージ内の cnp.py ファイルを編集します。
 supported_types = {95: '001, 002 ...'}
に css.style.NumberingTypes (0-51) 以外の数値をキーとして、UI の表示用のテキストを値に指定。

そして、その番号付けに対する処理を追加します。
     def _make_numbering(self, num_type, value):
         if num_type == 95:
             return '%03d' % value 
         else:
             return ''
*** 回答 [#md9d963b]

#comment


*** 感想,コメント,メモ [#k7bcd67c]

#comment

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes