前の関連記事: Calc(86)ActionTriggerContainer、ActionTrigger、ActionTriggerSeparatorのサービスとインターフェイスの一覧
マクロでEscキーイベントをシミュレートする
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) # キーを離す、をシミュレート。これで.uno:Copy後の選択状態の解除ができました。
KeyEvent StructのKeyCharアトリビュートにはUnicode文字を渡すので、コードポイントをchr()に渡してその戻り値を渡していますが、0を渡してもいいのかもしれません。
参考にしたサイト
Create a macro that press "Enter" automatic once. - Ask LibreOffice
Returnキーの入力をシミュレートするBasicの例。
ASCIIコード表
ASCIIコードはUnicodeのコードポイントと一致します。
0 件のコメント:
コメントを投稿