ダイアログ内の複数のテキストボックスの値の取得 †
ページ | OpenOffice.org FAQの登録ページ |
---|---|
投稿者 | Guard |
分類 | |
優先順位 | |
状態 | |
カテゴリー | |
投稿日 | 2011-03-13 22:56:09 (日) |
OS | Windows7 |
依存するページ | |
バージョン |
メッセージ †
回答ページでは行末に「~」を付加する必要はありません |
教えて下さい。VBAで作成していた処理をOooで再作成しているのですが、ダイアログに複数のテキストボックスを配置して、その値を読み込む場合において、For 〜 Next 文を使用して読み込む事が出来ずに悩んでいます。TextField1〜TextField10 迄の10個の項目をkoumoku と言う配列に入れたいのですが、
for i = 1 to 10 koumoku(i) = oMDialog.TextField + i.Text next i
文法としては間違っているのですが、こんな様な処理をしたいのですが・・・。 よろしくお願いします。
次のようにします †
はにゃ? (2011-03-14 20:55:38 (月))
oMDialog 変数にダイアログモデルオブジェクトが保持されているなら次のようにできます。for i = 1 to 10 koumoku(i) = oMDialog.getByName("TextField" & CStr(i)).Text next i
エラーになります †
Guard (2011-03-15 00:41:23 (火))
迅速な回答ありがとうございます。早速やってみましたが、エラーになってしまいます。エラーは、
BASIC ランタイムエラー
例外が発生しました
Type: com.sun.star.container.NoSuchElementExceprion
Message:。
と、なっています。oMDialogは、この命令の前に
oDialog = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
oMDialog = oDialog.getModel()
としているのでモデルオブジェクトを保持していると思われるのですが、違うのでしょうか?
VBAではそこそこの事ができたのですが、Oooでは手探り状態です。どうかよろしくお願いします。
また、別件になってしまうかと思いますが、皆さんはどの様にしてOooを習得されたのですか?VBAは書籍等を購入して勉強したのですが、Oooは書店では見かけないのですが・・・。
Re: エラーになります †
はにゃ? (2011-03-15 01:06:08 (火))
ダイアログに配置されているフィールド名を確認してみてください。手元ではTextField1-10を配置したダイアログで正しく動作します。該当するエラーは指定したコントロールがみつからないことを示しています。
faq6-178.odt
できました †
Guard (2011-03-16 22:09:48 (水))
できました。ありがとうございました。TextField10 を削除していたので、エラーとなっていました。
やっと先に進めます。重ね重ねありがとうございました。