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

Q&A集[?]

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

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

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

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:2465
現在:5


Comboboxからの値取得について

ページOpenOffice.org FAQの登録ページ
投稿者たろう
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2009-08-05 14:12:15 (水)
OSWindows XP
依存するページhttp://hermione.s41.xrea.com/pukiwiki/pukiwiki.php?OOobbs%2F54
バージョン
edit/refer

メッセージ

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

ダイアログ上のコンボボックスの値取得について教えてください。

依存するページのサイトを参考に作成してみたのですが、コンボボックスの値がうまく取得できません。

やりたいことは、コンボボックス1の値を変更したら、その値を取得し、それに基づいたデータをコンボボックス2に表示したいと思っています。

コンボボックス1の値取得の部分でつまずいています。

コンボボックス1でテキストを変更したときに動くイベントを設定し、下記のプログラムから始まるモジュールを動かそうとしています。

Dim oDialog As Object

oDialog = createUnoDialog(DialogLibraries.Standard.Dialog1)

oDialog.getControl("ComboBox1").getSelectedText()

3行目の部分で、msgboxをつけて、コンボボックス1の値を見てみたのですが、取得できていないらしく、空のメッセージボックスが表示されます。

どこが間違っているのでしょうか。

おわかりになる方がいらっしゃいましたら教えてください。

よろしくお願いいたします。


無題

gorodoku (2009-08-05 14:48:59 (水))

コンボのプロパティの指定を単純にtextにしてみてはいかがでしょうか?

msgbox oDialog.getControl("ComboBox1").Text

コンボボックス1の値が取得できたら、これを元にコンボボックス2のアイテムを変更する(StringItemListプロパティに場合に応じた配列を代入する)、、、といった感じでしょうか。

可能であれば、サンプルを提示いただけると検討しやすいです。

Comboboxからの値取得について

たろう (2009-08-05 15:14:01 (水))

gorodokuさん

お返事ありがとうございます。

下記のサイトを参考にしたのですが、

http://hermione.s41.xrea.com/pukiwiki/pukiwiki.php?OOobbs%2F54

このサイトによりますと、getSelectedTextがいいような気がするのですが、Textも試してみましたが、結果は同じでした。



サンプルは最初の質問で提示させて頂きましたが下記になります。

Dim oDialog As Object

oDialog = createUnoDialog(DialogLibraries.Standard.Dialog1)

oDialog.getControl("ComboBox1").getSelectedText()

コンボボックス1で取得した値を元にシートにあるデータを検索し、検索した複数のデータをコンボボックス2に表示したいと思っています。

コンボボックス1で選択したデータの取得がうまくいかない状態です。

よろしくお願いいたします。

ごめんなさい、言葉足らずでした。

gorodoku (2009-08-05 15:27:42 (水))

言葉足らずで申し訳ありませんでした。作成したファイル(中途でも結構です)を、公開してよいものならば添付していただければ、ということでした。
このページの下のほうのメニューに「ファイル添付」というのがありますので、そちらから添付できます。

Comboboxからの値取得について

たろう (2009-08-05 15:39:16 (水))

gorodokuさん

ありがとうございます。

申し訳ありません、ファイルそのものの添付というのはできませんので、プログラムの仕様をできるだけわかりやすく書きます。
(必要な部分だけ抜粋します。)

ダイアログ上に、コンボボックスが2つあり、コンボボックス1にはシート1にあるA列の値が全部入っています。

A列には、野菜、果物、肉、、、というような内容が入っています。

そして、B列にはA列が野菜の場合は、大根、キャベツ、人参、、、A列が果物の場合は、リンゴ、バナナ、イチゴ、、、、

と言うような感じで、データが入っています。

コンボボックス1で野菜を選択したら、コンボボックス2ではデータを絞り込んで、大根、キャベツ、人参、、

と言うデータを表示させたいのです。

現在では、コンボボックス1で選択したデータの取得ができていない状態です。

よろしくお願いいたします。

無題

ike@九州 (2009-08-05 16:35:52 (水))

SbxSTRING getText ( void )     表示中のテキストを取得する
SbxSTRING getSelectedText ( void ) 選択中(青反転)のテキストを取得する

コンボボックスでは上記のような仕様になってます。

依存ページにサンプルがありますので、マクロを実行させ確認してください。
Dim oDialog As Object宣言の場所が違うのでは…

Sub Event
Dim oDialog As Object
oDialog = createUnoDialog(DialogLibraries.Standard.Dialog1)
oDialog.getControl("ComboBox1").getText()

End Sub

Comboboxからの値取得について

たろう (2009-08-05 17:06:05 (水))

ike@九州さん

いつもありがとうございます。

ダイアログを表示する部分と、コンボボックスを変更したときにデータを取得・データセットのモジュールを分けていたのですが、それがいけなかったみたいで、教えて頂いたようにサンプルを見直して、モジュールも一緒にし、要らない部分を削ったら動きました!

ありがとうございました!!

少し進んで、ホッとしました!

またわからないことが出てくるかと思いますが、またよろしくお願いいたします。

解決したようですね

gorodoku (2009-08-05 18:59:59 (水))

おっと帰宅したらもう解決していたようですね。
ikeさんフォローありがとうございます。たろうさん、あまりお役に立てずすみませ〜ん<(_ _)>

ページ番号を変更しました

M.Kamataki (2009-08-27 16:46:16 (木))

faq/5/25にページ番号を変えました。faq/5/3をご覧ください。

お名前:
題名: