|
▼おぐら さん:
こんばんは。
>初書き込みで質問で恐縮ですがまわりに聞ける人がいないので教えて下さい。
>
>クイズ1問ごとのデータ(問題、回答、正当時のメッセージ等)の構造体を定義し、その配列を作成したのですが効率の良い初期化方法が解りません。
>現状では初期化関数の中で「table(1).mondai = "・・・"」等としていますが、下記の点で納得いきません。
>
>1.変更しないテーブルであるにもかかわらず、実行時に初期化している。
残念ながら、変数定義時に初期値を指定できる変数という概念がありません。
>2.要素毎に要素番号を記述する必要がある。
配列ですからねえ
>3.要素毎にメンバ名を記述する必要がある。
構造体(VBAでは、ユーザー定義型)ですからねえ
>
>うまい初期化方法があれば教えて下さい。
>理想はこんな感じです。これを関数の外に書きたいです。
>下記に近い書き方があればうれしいです。
>table1 = ( ( "問題内容1" , "回答1" , "Msg1") , _
> ( "問題内容2" , "回答2" , "Msg2") )
ということで↑これは、厳しいかな・・・。
>補足:
>・問題の内容をユーザ見せしたくないので、ワークシートには書きたくないです。
シートを非表示(シートのVisibleプロパテイを2に設定)すれば、
ユーザー操作で表示は出来ません。
よって、シートに
問題内容1 回答1 Msg1
問題内容2 回答2 Msg2
問題内容3 回答3 Msg3
問題内容4 回答4 Msg4
問題内容5 回答5 Msg5
問題内容6 回答6 Msg6
等と事前に設定しておくとよいと思いますが、いかがですか?
|
|