JRA公式競馬データ配信サービス JRA-VAN Data Lab.

JRA-VAN DataLab.

競馬ソフト開発コーナー

JV-Dataの使い方あれこれ

一括表示 リストに戻る
タイトルJVRSSで1日の最大レース数を知るには?
記事No4544
投稿日: 2016/02/04(Thu) 07:41
投稿者VBAオンチ
お世話になります。

JVRSSのVBAでの使い方を理解中です。
例えば日曜("2")の場所名"1"の1日の競走名本題を全部得
るために下記のようにすると通常は特別レースのみ表示されます。

For p=1 to 12 '12レース分
Range("A" & p).Value="=JVRSS|'00121" +
Format(p,"00") + "'!" + "RA競走名本題"
;
Next p

(質問1)
ただこれは1日にレース数が12と仮定していますが、ダービーなどでは1日に1
2レースない場合があります。あらかじめ何レースあるかをJVRSSで知るにはどう
すればいいでしょうか。
(関連して同様に1日に何場所開催があるのかを知りたいです)

(質問2)
仮に上記のコードでp=1 to 13と存在しないレース数でやると最後は
"#JVError"と表示されます。エラーですが、このエラーモードやエ
ラー番号を検出するにはどうすればいいですか。
あらかじめ1日のレース数がわからないときはすべて12レースと仮定して、存在
しないレースの時にエラーを検出して表示しないなどの使い方を想定しています
。(1日の開催場所数も3場所と仮定してエラーになったら避けることもできる
と思います)

なおJVRSSデータ仕様書(Ver1.0.4)2014年9月9日版を使ってます。
他にも質問がありますので、別項目にします。
よろしくお願いします。

タイトルRe: JVRSSで1日の最大レース数を知るには?
記事No4546
投稿日: 2016/02/08(Mon) 17:17
投稿者JRA-VAN ソフトサポート
JRA-VANソフトサポートの竹下です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。


(質問1)
まず、JVRSSでその開催日のレース数を取得することはできません。場数も同様
です。

そのため、ループ処理に想定される最大値を設定し、
判定前に書き込んだセルの値を検索して
" #JVError"であった場合処理を抜け、
その時のカウント数で判断が可能かと思われます。

下記に例を記載致します。

【コード例】

Dim count As Integer

count = 0

' レース数取得
For p = 1 To 12 '12レース分
Range("A" & p).Value = "=JVRSS|'00121" + F
ormat(p, "00") + "'!" + "RA競走名本題"
;

If Range("A" & p).Value = " #JVError" Then
'判定に使用したセルの"#JVError"を空文字に置換します。
Range("A" & p).Value = ""

'レース数表示
Range("A" & p + 1).Value = "レース数:" + CSt
r(count)

Exit For
ElseIf IsError(Range("A" & p).Value) Then
'セルエラー時の処理
End If

count = count + 1

Next p


上記はあくまで一例ですので参考情報としてお考えください。

(質問2)
質問1で回答させていただきました方法が、
JVRSS(JVError)の検知になります。
申し訳ありませんが、ご了承ください。


以上、よろしくお願いいたします。

タイトルRe^2: JVRSSで1日の最大レース数を知るには?
記事No4547
投稿日: 2016/02/10(Wed) 08:36
投稿者VBAオンチ
JRA-VANソフトサポート 竹下様

ご回答ありがとうございました。
内容了解しました。

ウィンドウを閉じる