前の関連記事: Calc(86)ActionTriggerContainer、ActionTrigger、ActionTriggerSeparatorのサービスとインターフェイスの一覧
マクロでEscキーイベントをシミュレートする
1 2 3 4 5 6 7 8 9 |
from com.sun.star.awt import Key # 定数 from com.sun.star.awt import KeyEvent # Struct doc = XSCRIPTCONTEXT.getDocument() # ドキュメントのモデルを取得。 controller = doc.getCurrentController() # コントローラの取得。 componentwindow = controller.ComponentWindow # コンポーネントウィンドウを取得。 keyevent = KeyEvent(KeyCode = Key.ESCAPE, KeyChar = chr ( 0x1b ), Modifiers = 0 , KeyFunc = 0 , Source = componentwindow) # EscキーのKeyEventを取得。 toolkit = componentwindow.getToolkit() # ツールキットを取得。 toolkit.keyPress(keyevent) # キーを押す、をシミュレート。 toolkit.keyRelease(keyevent) # キーを離す、をシミュレート。 |
KeyEvent StructのKeyCharアトリビュートにはUnicode文字を渡すので、コードポイントをchr()に渡してその戻り値を渡していますが、0を渡してもいいのかもしれません。
参考にしたサイト
Create a macro that press "Enter" automatic once. - Ask LibreOffice
Returnキーの入力をシミュレートするBasicの例。
ASCIIコード表
ASCIIコードはUnicodeのコードポイントと一致します。
0 件のコメント:
コメントを投稿