マクロ編集時のコード補完機能について

はじめまして
BaseのFormを使ってちょっとしたアプリケーションを作成しています。

その中でBasicでマクロの編集をしているのですが、

どのようなオブジェクト/プロパティ/メソッドが存在するのか調べるのに苦労しています。

ThisComponent.Drawpage.

と入力すると自動でFormsとか他の選択肢が出て欲しいのですが…



コード補完機能は設定上はオンになっていますが、

(Basic IDEオプションで、"コード補完を有効にする"と"オートコレクト"にチェックをいれています。)

実際にはコード補完機能は表示されません。

みなさんはコード補完機能は使用していますか?

使用できるなら正しい設定方法を教えていただきたいです



環境は以下のとおりです

MaxOS X Yosemite

LibreOffice 5.3.0.3

1 Like

正しい設定方法
https://help.libreoffice.org/7.2/ja/text/shared/optionen/BasicIDE.html

Windows10 で説明通りドロップダウン表示していますが、質問者さんが期待しているものではないです

テンキーに配置されたドットでは機能しないかもしれません


Pythonなら充実した機能を装備した様々なIDEが利用可能です
https://help.libreoffice.org/7.2/ja/text/sbasic/python/python_ide.html

1 Like

どのようなオブジェクト/プロパティ/メソッドが存在するのか調べるのに苦労しています。

  • オブジェクト/プロパティ を調べる
    • Bisic 編集のオブザーバー・パネルに変数を登録すると、ブレークポイントを利用して 情報を見ることができます
  • オブジェクト/プロパティ/メソッド を調べる
    • Calcに関しては 最近のバージョンでは ツール > 開発者ルール でオブジェクトに関連する情報を見ることができます
    • 開発中に情報を見るには XRay(マクロ)か MRI(拡張機能)というツールをインストールして内容を確認します
      Sub Main
        GlobalScope.BasicLibraries.LoadLibrary("MRILib")
        mri ThisComponent.Drawpage  ' Base
      rem  mri ThisComponent.Drawpages  ' Calc
      End Sub
      

Python IDE では、補完機能のドロップダウンの他に、オブジェクトの監視機能が標準で利用可能 か アドインの様なツールで確認することができる場合が多いです
Python から MRI ツールを利用するには、関数を作って呼び出すのが便利です

def mri(target):
    try:
        _c = XSCRIPTCONTEXT.getComponentContext()
        _m = _c.getServiceManager().createInstanceWithContext('mytools.Mri', _c)
        _m.inspect(target)
    except:
        pass

mri(XSCRIPTCONTEXT.getDocument().Drawpages)	# Calc用
1 Like