

LibreOffice Basic説明サイト調べるが、全然わからない。やりたいことはボタンのテキストを変えるだけなのに、見つけることができない。日本語サイトでは無理かも
今回の目的は、ボタン押したら、そのラベルが変わる方法です
英語で検索してみる。 検索ワード: LibreOffice API

英語がメインですが、日本語翻訳されたサイトも出てきます。最初に出てきたものを読んでみます。
Andrewのマクロ LibreOfficeのWriterで書かれています。
ただし、英語です。
最初のマクロ:

VBAでも書けるようです。

Option Compatible : この一行を先頭に
Option VBASupport 1 こちらがVBA使うときに必要
今回見てるドキュメントが古いのか? どちらが正しい?
一番新しいHelpファイルに出ていました下が正しい。
LibreOffice Basicのヘルプ見つからないので、VBAでどこまでできるか実験してみようと思います。
英語のサイト
ようやく、ボタンのラベルをBasicで変更できました
ここを参考にしました:
ラベル変えるだけで、2日もかかりました。Google先生に聞いてもとにかくわかりませんでした。
Sub label_change() Dim Doc As Object Dim Sheet As Object Dim DrawPage As Object Dim Form As Object Dim Button As Object Doc =ThisComponent.CurrentController Sheet = Doc.ActiveSheet DrawPage = Sheet.DrawPage Form = Doc.DrawPage.Forms.GetByIndex(0) Button = Form.getByName("Button") End Sub
説明したいのですが、自分でも理解できていません。
ボタンは「Drawpage」に書き込まれてるのかな?
Google先生のサンプルを結構、自分なりに変更しました。
>表計算ドキュメントの場合は、図形描画レベルが表計算ドキュメントの直下ではなく個々のシート (表) に置かれているため、Sheets リストを経由してアクセスする必要があります。
各シートの下にDrawpageがあるらしい。
コメント