質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.33%
LibreOffice Basic

LibreOffice Basicは、LibreOfficeの作業を自動化するプログラミング言語。LibreOfficeは、OpenOffice.orgから派生しており、多くのオペレーティングシステムで利用できるオフィススイートです。

Q&A

0回答

3850閲覧

libreoffice basicで5秒おきに実行する関数が作れない

maruguchi

総合スコア0

LibreOffice Basic

LibreOffice Basicは、LibreOfficeの作業を自動化するプログラミング言語。LibreOfficeは、OpenOffice.orgから派生しており、多くのオペレーティングシステムで利用できるオフィススイートです。

0グッド

0クリップ

投稿2024/12/17 05:57

実現したいこと

お世話になります。
libreoffice basicで5秒おきに実行する関数を造りたいのですがうまくいきません。

発生している問題・分からないこと

検索しても該当の情報がわからず、AIに聞くも下記のような関数でエラーが発生します。

libreoffice

1Sub timer_start() 2 3Dim oTimer As Object 4 5 If IsNull(oTimer) Then '二重起動防止 6 oTimer = CreateUnoService("com.sun.star.awt.XTimer") 'タイマーサービスを作成 7 oTimer.addActionListener(CreateUnoListener("aaa_", "com.sun.star.awt.XActionListener")) 'イベントハンドラを設定 8 oTimer.Start(5000) 'インターバルを5000ミリ秒(5秒)に設定してタイマーを開始 9 End If 10End Sub 11 12Sub timer_event(oEvent As Object) 13 'タイマーイベントの処理 14 MsgBox "Timerイベント発生!", 0, "確認" 15End Sub 16 17Sub timer_stop() 18 If Not IsNull(oTimer) Then 19 oTimer.Stop() 20 RemoveHandler oTimer.Timer, "timer_event" 'イベントハンドラを削除 21 oTimer.Dispose() 22 oTimer = Null 23 End If 24End Sub 25

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

上記のコードでは「オブジェクト変数は設定できていません。」というエラーになります。
ご助力お願いいたします。

waitは都合上考慮しません。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maruguchi

2024/12/17 06:49

コメントありがとうございます。〇〇とはなんでしょうか?リンク先はクレジットカードですよね多分関係ないと思います。
dodox86

2024/12/17 06:53

@質問者 maruguchiさん 先のコメントは遠まわしの広告投稿と思いますのでスルーで。 LibreOfficeのBASICと言うことですが、詳細なバージョンや実行環境(OS等)を記載しましょう。※記載する際はこの欄ではなく、質問文を編集、追記してください。 こういうケースはバージョンや実行環境によって挙動が異なることも多いです。
dodox86

2024/12/17 08:00

と、思ったらマルチポストだったのですね。 [Timerを使って5秒おきに実行する関数を造りたい - LibreOffice] https://ask.libreoffice.org/t/timer/115259 回答する気が萎えてしまったのでコメントのみですが、 1. "com.sun.star.awt.XTimer"と言うサービスは無いのでCreateUnoServiceは失敗するだろうし、 https://api.libreoffice.org/docs/idl/ref/namespacecom_1_1sun_1_1star_1_1awt.html ※LibreOfficeの前身のOpenOfficeとかではサポートされていたのかもしれません。 2. 定周期で指定の関数にディスパッチするようなサービスはLibreOffice BASICには無いと思いますよ。 https://ask.libreoffice.org/t/there-is-no-timer-service-why/100666
maruguchi

2024/12/17 08:30

コメントありがとうございます。構造的に作れなさそうですね。残念です。 回答を頂ける方がどちらにもいると限ったわけではありません。一つのプラットフォームに限定するよりいいと思いました。気に障ったようですいません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.33%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問