前回に続いて”レース情報[RACE]”の中の”票数1”、”票数2”、”オッズ1”〜”オッズ6”のデータをワークシートに展開するサブルーチンを作ります。特に断りのない限り"Top"シートのコードウィンドウに追加します。
|
1.”票数1(H1)”を展開するサブルーチン[DisplayH1DataOnWorksheet]
”票数1”は単複・枠連、馬連、ワイド、馬単、三連複オッズの票数データです。実際に表示するのは単勝の馬番別の票数と人気順、馬連組合せは最大153組のうち最初の60組(馬番01〜18)を表示します。
|
2.”票数6(H6)”を展開するサブルーチン[DisplayH6DataOnWorksheet]
”票数6”は三連単の票数データです。三連単の組合せのうち最初の80組を表示します。
(注意:ここで中断終了する場合は、この回の10項目も作成してください) |
3.”オッズ1(O1)”を展開するサブルーチン[DisplayO1DataOnWorksheet]
”O1”の頭は英字の”オー”です。”O1”は単複・枠連オッズのデータです。
プログラムのポイント
単勝・複勝・枠連オッズを表示する方法は、馬番(組番)+オッズ(10倍表示)+人気順を1つの文字列に連結して1つのセルに表示します。実際に使うときは文字列から分解します。オッズは常に整数で表示されるので、実際には10で割ったものが実オッズになります。
(1)単勝の場合・・・馬番(2ケタ)+オッズ(4ケタ)+人気順(2ケタ)。例:"10012305"→馬番10、単勝オッズ12.3倍、5番人気。
(2)複勝・・・馬番(2ケタ)+最低オッズ(4ケタ)+最高オッズ(4ケタ)+人気順(2ケタ)。例:”050030005503”→馬番05、複勝オッズ(3.0倍〜5.5倍)、3番人気。
(3)枠連・・・枠番(2ケタ)+オッズ(5ケタ)+人気順(2ケタ)。例:”881234530”→枠番8-8、オッズ1234.5倍、30番人気。
枠番の組合せの表示は、1-1、1-2、・・・1-8といき、2-2、2-3・・・と続き、最後は8-8ですが、頭数により、組合せがない場合もこの順序は変わらず、抜ける組合せの部分は空白となります。 |
4.”オッズ2(O2)”を展開するサブルーチン[DisplayO2DataOnWorksheet]
”O2”は馬連オッズです。
プログラムのポイント
馬連オッズを表示する方法は、組番(4ケタ)+オッズ(6ケタ)+人気順(3ケタ)を1つの文字列に連結して1つのセルに表示します。
(例)”0110001252030”→馬番(01-10)、オッズ125.2倍、30番人気。
馬番の組合せの表示は、01-02、01-03・・・01-18、02-03・・・と進み、最後は17-18となりますが、頭数が少ない場合もこの順番は変わらず、組合せがない順番のところは空白データとなります。
たとえば16頭の場合、1番目は01-02、15番目が01-16となりますが、16番目、17番目は空白で、02-03の組合せは18番目からになります。実際のケースでは、この辺に注意が必要です。 |
5.”オッズ3(O3)”を展開するサブルーチン[DisplayO3DataOnWorksheet]
”O3”はワイドオッズです。
プログラムのポイント
ワイドオッズを表示する方法は、組番(4ケタ)+最低オッズ(5ケタ)+最高オッズ(5ケタ)+人気順(3ケタ)を1つの文字列に連結して1つのセルに表示します。
(例)”01020332503394084”→組番(01-02)、ワイドオッズ(332.5〜394.0倍)、84番人気。 |
6.”オッズ4(O4)”を展開するサブルーチン[DisplayO4DataOnWorksheet]
”O4”は馬単オッズです。
プログラムのポイント
馬単オッズを表示する方法は、組番(4ケタ)+オッズ(6ケタ)+人気順(3ケタ)を1つの文字列に連結してセルに表示します。 それでもExcelの横方向の最大コラム数(256)を超えるので240組までで打ち切ります。
(例)”1412001160040”→馬単(14-12)、オッズ116.0倍、40番人気。
馬単の場合、馬連と逆の組合せもあるので、若干複雑になります。1番目は01-02、2番目01-03・・・01-18の次は、02-01、02-03・・・となります。頭数により欠ける組合せは空白データとなりますが、順番は変わりません。 |
7.”オッズ5(O5)”を展開するサブルーチン[DisplayO5DataOnWorksheet]
”O5”は三連複オッズです。
|
8.”オッズ6(O6)”を展開するサブルーチン[DisplayO6DataOnWorksheet]
”O6”は三連単オッズです。
プログラムのポイント
三連単オッズを表示する方法は、組番(6ケタ)+オッズ(7ケタ)+人気順(4ケタ)を1つの文字列に連結してセルに表示します。 それでもExcelの横方向の最大コラム数(256)を超えるので240組までで打ち切ります。
(例)”01020301234561234”→組番(01-02-03)、オッズ12345.6倍、1234番人気。 |
9.前回のサブルーチン[Worksheet_BeforeDoubleClick]の中のサブルーチンに追加するコード(Topシート)。
追加するのは2種類あります。
(1)内部サブルーチン"OpenFileData"の中に追加するコード
追加する場所は前回の Case "HR" のブロックの下と End Select の間です。(「次回以降に追加するプログラムはこの下に記述する」という箇所の下に追加)
下記を参考に挿入してください。余分な字句は適宜削除してください。
(2)内部サブルーチン"JVDataSetAndDisplay"の中に追加するコード
追加する場所は前回の
Case "HR" '* 払戻表示
Call DisplayHRDataOnWorksheet(FileID, HrDataSu)
とend Select の間です。(「次回以降に追加するプログラムはこの下に記述する」という箇所の下に追加)
|
10.さらに標準モジュールを2つ追加して、それぞれに下記の2つのコードを追加します。
標準モジュールを追加して"mMod4"として下記のコードを記述してください。記述は1行のみです。
これは三連単のオッズの定義です。
標準モジュールを追加して"mMod5"として下記のコードを記述してください。これも記述は1行です。
これは三連単の票数の定義です。
(注意)三連単のオッズと票数の定義は上記のように標準モジュールを分ける必要があります。理由は必要メモリ量が多いためのようです。
以上で”レース情報[RACE]”データをワークシートに展開するサブルーチンは終了です。
上書き保存してください。 |
11.プログラムの実行
ファイル名をダブルクリックするとファイル種別に応じたシートに内容が展開されます。
票数(H6)の展開はかなり時間がかかります。 |
次回は”レース補てん情報[RCOV]”データを展開するサブルーチンを作ります。 |
ページトップへ |