「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:1604
現在:2


ユーザーフォームのボタンの色を動作時に変えたい

ページOpenOffice.org FAQの登録ページ
投稿者藍染
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2008-06-15 18:06:23 (日)
OSwin xp
依存するページ
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

ユーザーフォームでボタンを押した時、ボタンの色が変わるようにするにはどうしたらいいのでしょうか。
動作時に色が変えることで押し忘れ防止などにしたいもので。


マクロにて

Tora (2008-06-15 19:35:49 (日))

そのボタンの「属性 ボタン」ダイアログの「イベント」タブの「作動時」に、以下のようなマクロを割り当ててみるというのもいいかも。

Sub Button_OnClick(event)
	'MsgBox event.Source.dbg_SupportedInterfaces
	'MsgBox event.Source.dbg_properties
	'MsgBox event.Source.Model.dbg_methods
	'MsgBox event.Source.Model.dbg_properties
	r = Int( Rnd * 255 )
	g = Int( Rnd * 255 )
	b = Int( Rnd * 255 )
	event.Source.Model.BackgroundColor = RGB(r, g, b)
	event.Source.Model.TextColor = RGB(255-r, 255-g, 255-b)
	event.Source.Label = "r = " & r & " g = " & g & " b = " & b
End Sub


他にも、さまざまな方法がありそうですね。

ありがとうございます

藍染 (2008-06-16 20:14:47 (月))

レスどうもありがとうございます。
早速試しに当ててみたところエラーで止まってしまいました。
何かしらプログラムを追加して使用するということでしょうか?

そのボタンに上記のマクロを割り当ててみるとどうでしょうか。

Tora (2008-06-16 21:18:19 (月))

はい。すみません。上記の BASIC プログラムを単に動かすと、エラーになります。

上記のプログラムは、ボタンが押されたときに、その押されたことを契機にして、自動機に上記のプログラムが起動され、そして、ボタンの色や文字列を書き換えてみるおもちゃプログラムです。

1. マクロを書いている画面から、Writer などの画面に戻ります。
2. 「表示」「ツールバー」「フォームコントロール」
3. ボタンのアイコンをクリックして選択し、Writer などの画面上にボタンを配置します。
4. そのボタンを右クリックし、「コントロール」
5. 「イベント」タブ
6. 「作動時」の右端の[...] ボタンをクリック
7. [マクロ]ボタンをクリック (初めての時、10秒ぐらいまたされることがあります。しばしお待ちを)
8. 「マクロの選択」ダイアログの左側部分から、いまお使いのファイルを選び、+ マークをクリックして中身を展開し、右側部分から上記のサブルーチン名を選択し、OK。OK。
9. 「フォームコントロール」ツールバーの「デザインモード オン/オフ」(三角定規と鉛筆みたいなアイコン)をクリックし、デザインモードをオフにする。
10. 手順3で配置したボタンをクリックすると、楽しめるかと思います。

ところで、どのような業務・作業の流れを行いたかったのでしたっけ。。。

あっ、どの種類の ボタン を使われたのでしょうか。

Tora (2008-06-16 21:25:30 (月))

OpenOffice.org では、結構、ありとあらゆるオブジェクトにイベントを割り当てられるので、、、と、書いていて、今、OpenOffice.org 2.3 で試してみたら、あら〜、できなくなっている。以前は、図形描画の線や長方形などにもイベントを割り当てられたような気がしたんだけどなぁ。思い過ごしかもしれませんです。

とにかく、もしかしたら、私が勝手に思い込んでいる ボタン とは異なる種類のボタンをお使いかもしれません。

[OK]プッシュボタンに対して(2.4.0で)出来る

Kuma (2008-06-17 07:53:27 (火))

私はOOo-2.4.0を使っていますがメニューの「表示」-->「ツールバー」-->「フォームコントロール」で現れるコントロール集ダイアログの中の「OK」ボタンに対して、Toraさんがご教示された方法でプログラムコードを適用したら機能しました。報告です。

お名前:
題名: