前の関連記事:Calc(47)埋め込みマクロのためのPyDevプロジェクト
documentevent.odsの実行結果
Windows10 HomeのLibreOffice5.4.1.2でdocumentevent.odsを実行した結果です。
linuxBean14.04でも同じ結果になると思います。
LibreOfficeを起動していない状態で、
エクスプローラーでdocumentevent.odsをダブルクリック
マクロを有効化
ファイル→閉じる
キャンセル
ドキュメントを開いた時は、OnFocus→OnViewCreated→OnLoadの順で呼ばれています。
「文書を有効化した時」とはつまりはフレームにフォーカスが移ったときということになります。
ということでドキュメントを開くときは、フレームの作成(OnFocus)→ビュー(コントローラ?)の作成(OnViewCreated)→ビューの完成(OnLoad)という流れになっているようです。
LibreOffice5(114)ドキュメントのイベント名一覧ででてきたOnLoadFinishedは呼び出されていませんね。
ドキュメントを閉じるときは、OnPrepareViewClosing→OnPrepareUnload、とまずビューを閉じてからドキュメントを閉じています。
OnPrepareUnloadのあとにOnUnloadが呼ばれていると思われます。
スタートセンターからdocumentevent.odsを開く
マクロを有効化
ファイル→保存
ファイル→閉じる
キャンセル
ファイル→保存、とすると、OnSave→OnTitleChanged→OnSaveDone、が呼ばれていることがわかりました。
ドキュメントの編集せずに保存しているのですが、OnTitleChangedが呼ばれていました。
スタートセンターからdocumentevent.odsを開く
マクロを有効化
セルを編集する
ファイル→閉じる
キャンセル
セルを編集したときは、OnTitleChanged→OnModifyChanged、が呼ばれているようです。
新規シートを挿入しても同じ結果になりました。
編集モード(保存アイコンに星が付いた状態)になるとOnModifyChangedが呼ばれるようです。
OnTitleChangedは文書のタイトルの変更をしていなくても、ドキュメントの保存や編集をしただけで呼ばれていて、何を根拠に発火しているのかよくわかりませんでした。
スタートセンターからdocumentevent.odsを開く
マクロを有効化
ファイル→新規作成→表計算ドキュメント
新規ドキュメントをクリックした後にdocumentevent.odsをクリックして戻る
ファイル→閉じる
キャンセル
他のドキュメントをアクティブにしたときにOnUnfocusが呼ばれて、戻ってきたときにOnFocusが呼ばれています。
LibreOffice以外のウィンドウをアクティブにしてもOnUnfocusは呼ばれませんでした。
この他OnCopyToが呼ばれるときもあるのですが、どういう理由で発火されているのかよくわかりませんでした。
0 件のコメント:
コメントを投稿