質問する
0

BASE内マクロ:BASIC:dispatcher.executeDispatchの記載方法

質問日 2019-01-31 03:59:48 +0200

amada のGravatar画像

updated 2019-02-15 18:23:56 +0200

himajin100000 のGravatar画像

以下の記載の意味を教えてください。
いろいろ探しましたが、どこにも記載がありません。

dispatcher.executeDispatch(document, ".uno:RecSave", "", 0, Array())

".uno:RecSave", の後ろ側の

"", と
0, と
Array() は何を表しているのですか?

また

Array() 内の () には何故、何も記載しないで良いのですか?

edit retag flag offensive close merge delete

1 Answer

0

回答日 2019-01-31 11:57:24 +0200

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

メモ。

https://opengrok.libreoffice.org/xref...

SfxBoolItem RecSave SID_FM_RECORD_SAVE

https://opengrok.libreoffice.org/xref...
https://opengrok.libreoffice.org/xref...
https://opengrok.libreoffice.org/xref...
https://opengrok.libreoffice.org/xref...

ちゃんと追ってないけど、このSID_FM_RECORD_SAVE、多分ここでしかまともに使われていないからここで使われているんだろう
https://opengrok.libreoffice.org/xref...
あたらしい情報は最後の要素、FormFeature::SaveRecordChanges
これをとっかかりにして調べると、
https://opengrok.libreoffice.org/xref...
となる。新しい行だった場合、行を挿入し、そうでないときは、行の内容をアップデートする、というような処理がなされている。

今回は使わなかったけど、コマンドによっては引数を要求するものがあり、そのようなものはexecuteDispatchの第5引数で与えられる。

https://opengrok.libreoffice.org/xref...

第3引数はどのフレーム(ウィンドウ等)に対して処理を行うか。指定によっては、新規ドキュメントを保持するフレームなどを指定できたかと思う。

https://opengrok.libreoffice.org/xref...
第4引数は、第3引数が特殊な内容を表す文字列でなかったときに、指定された名前を持つフレームを、どの分類のリストから探し出すか、に用いられる。

Array() 内の () には何故、何も記載しないで良いのですか? nullptr(BasicでいうNothing)でエラーが出る、とかにしたくないだけだと思う。

edit flag offensive delete link もっと

Comments

暇人さんありがとうございます。
書き込んでいただいたURL。本当にご丁寧に探してくださって感謝します。
ものすごく長い時間がかかったと思います。

ですが申し訳ありません。
一生懸命に読んだのですが、私にはお手上げです。
皆目、理解できません。落ち込んでいます。

ですが、文字で書いていただいたところはなんとんなく理解できました。
ありがとうございました。

彰子

amada のGravatar画像amada ( 2019-02-01 02:33:38 +0200 )edit
ログイン/サインアップして回答する

質問ツール

1 follower

Stats

Asked: 2019-01-31 03:59:48 +0200

Seen: 35 times

Last updated: Jan 31