🕊️②エクセルでデータラボのフォームとモジュールの追加・Dataの準備


Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim Cancelflg As Boolean
Dim DLflg As Boolean
Dim Retval As Long
Dim Readcount As Long
Dim Dlcount As Long
Dim Lastfiletimestamp As String
Dim Status As Long
Dim Buff As String '*83286
Dim Filename As String
Dim i#
Dim StartDate$
'速報レース情報(成績確定後速報レース情報(出走馬名表~)レース詳細 0B15
'速報レース情報(成績確定後)払戻 0B12
'速報オッズ(全賭式) 0B30 オッズ 0B12
'速報馬体重 馬体重 0B11
'速報開催情報(一括) 0B14
'速報開催情報(指定) 0B16
'Long JVRTOpen( String 型 dataspec , String 型 key)
'指定するキー(key)
'提供単位レース毎 "YYYYMMDDJJKKHHRR" 'または '“YYYYMMDDJJRR” KK=回次 HH=日次 RR=レース番
'提供単位開催日単位 “YYYYMMDD”
'※1:各イベントから返されるパラメータを key に JVRTOpen を使用する場合 イベント 通知を受信するメソッドから返されるパラメータを
'key として JVRTOpen を 使用する場合は、Dataspec を以下のように指定してください。
'種類 Dataspec提供単位
'払戻確定 0B12 レース単位
'騎手変更 0B16 変更情報発表単位(複数件の騎手変更情報を提供する場合もあります)
'天候馬場状態変更 0B16 場単位
'コース変更 0B16 レース単位
'出走取消・競走除外 0B16 変更情報発表単位(複数件の出走取消・競走除外情報を提供する場合もあります)
'発走時刻変更 0B16 変更情報発表単位(複数件の発走時刻変更情報を提供する場合もあります)
'馬体重発表 0B11 レース単位
Sub 払い戻しin()
If JvMode = 6 Then 'END
データラボ.Caption = "払い戻しin取得中"
データラボ.BackColor = RGB(0, 0, 0)
Cancelflg = False
DLflg = False
Erase JvHr
Er = 0
CkHr = 0 '払い戻し確認
Sheets("出馬表").払い戻し読込JvYSt
If RTime = "End" Or RTime = "" Then
ラボEND
Exit Sub
End If
開催日場トラックR
'************************************************************************************HR
JVLink1.JVInit ("EXCELSAMPLE") 'JVLinkを初期化
Retval = JVLink1.JVRTOpen("0B15", MyDay)
If Retval <> 0 Then
ErNo = Retval
JVエラー
Exit Sub
End If
ダウンロード中
While Retval <> 0
If Cancelflg = True Then ラボEND 'キャンセルボタンチェック
Retval = JVLink1.JVRead(Buff, 83286, Filename)
If (Retval < -1) Then
ErNo = Retval
JVエラー
Exit Sub
End If
'---------------------------------------------------------------------------HR 払戻
If Left(Buff, 2) = "HR" Then
JvHr(5) = 0
JvHr(6) = 0
Dim mRaDataHR As JV_HR_PAY
Call SetData_HR(Buff, mRaDataHR)
With mRaDataHR
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay And JvJo = .id.JyoCD And RNo = .id.RaceNum Then '中止はRNo飛ばす
JvHr(1) = .PayTansyo(0).Umaban '1A馬番
JvHr(2) = .PayTansyo(1).Umaban '1B馬番
If Val(JvHr(2)) = 0 Then '1着同着無し
JvHr(3) = Mid$(.PayUmatan(0).Kumi, 3, 2) '2A馬番
JvHr(4) = Mid$(.PayUmatan(1).Kumi, 3, 2) '2B馬番
Else '1着同着
JvHr(3) = 0 '2A馬番
JvHr(4) = 0 '2B馬番
End If
If Val(JvHr(4)) = 0 Then '2着同着無し
'-------------------------------------3連単から着順
St1 = Mid$(.PaySanrenpuku(0).Kumi, 1, 2) '1N馬番
St2 = Mid$(.PaySanrenpuku(0).Kumi, 3, 2) '2N馬番
St3 = Mid$(.PaySanrenpuku(0).Kumi, 5, 2) '3N馬番
If St1 <> JvHr(1) And St1 <> JvHr(2) And St1 <> JvHr(3) Then
JvHr(5) = St1 '3A馬番
Else
If St2 <> JvHr(1) And St2 <> JvHr(2) And St2 <> JvHr(3) Then
JvHr(5) = St2 '3A馬番
Else
JvHr(5) = St3 '3A馬番
End If
End If
If Val(.PaySanrenpuku(1).Pay) <> 0 Then '3B'3着同着
St1 = Mid$(.PaySanrenpuku(1).Kumi, 1, 2)
St2 = Mid$(.PaySanrenpuku(1).Kumi, 3, 2)
St3 = Mid$(.PaySanrenpuku(1).Kumi, 5, 2)
If St1 <> JvHr(1) And St1 <> JvHr(2) And St1 <> JvHr(3) Then
JvHr(6) = St1 '3B馬番
Else
If St2 <> JvHr(1) And St2 <> JvHr(2) And St2 <> JvHr(3) Then
JvHr(6) = St2 '3B馬番
Else
JvHr(6) = St3 '3B馬番
End If
End If
End If
Else '2着同時
JvHr(5) = 0 '3A馬番
JvHr(6) = 0 '3B馬番
End If
'---------------------------------------払い
JvHr(7) = .PayTansyo(0).Pay '単A
JvHr(8) = .PayTansyo(1).Pay '単B
JvHr(9) = .PayFukusyo(0).Pay '複A
JvHr(10) = .PayFukusyo(1).Pay '複B
JvHr(11) = .PayFukusyo(2).Pay '複C
JvHr(12) = .PayFukusyo(3).Pay '複D
JvHr(13) = .PayFukusyo(4).Pay '複E
JvHr(14) = .PayUmaren(0).Pay '馬A
JvHr(15) = .PayUmaren(1).Pay '馬B
JvHr(16) = .PayWakuren(0).Pay '枠A
JvHr(17) = .PayWakuren(1).Pay '枠B
JvHr(18) = .PayWide(0).Pay 'ワイドA 1-2
JvHr(19) = .PayWide(1).Pay 'ワイドB 1-3
JvHr(20) = .PayWide(2).Pay 'ワイドC 2-3
JvHr(21) = .PayWide(3).Pay 'ワイドD
JvHr(22) = .PayWide(4).Pay 'ワイドE
JvHr(23) = .PayWide(5).Pay 'ワイドF
JvHr(24) = .PayUmatan(0).Pay '馬単A
JvHr(25) = .PayUmatan(1).Pay '馬単B
JvHr(26) = .PaySanrenpuku(0).Pay '三連複A
JvHr(27) = .PaySanrenpuku(1).Pay '三連複B
JvHr(28) = .PaySanrentan(0).Pay '三連単A
JvHr(29) = .PaySanrentan(1).Pay '三連単B
XJv = 13
For A = 1 To 6 '着順(読込順)
If Val(JvHr(A)) > 0 Then
Sheets("出馬表").Cells(YJv, XJv) = JvHr(A)
XJv = XJv + 1
End If
Next
XJv = 17
For A = 9 To 13 '複勝払い戻し(読込順)
If Val(JvHr(A)) > 0 Then
Sheets("出馬表").Cells(YJv, XJv) = JvHr(A)
XJv = XJv + 1
End If
Next
CkHr = 1
End If
End With
End If
Label1.Caption = Buff
DoEvents
If Retval = -203 Then
ErNo = Retval
JVエラー
Exit Sub
End If
Wend
ラボEND
End If
End Sub
Sub オッズin()
Dim mRaData1 As JV_O1_ODDS_TANFUKUWAKU
Dim mRaData2 As JV_O2_ODDS_UMAREN
Dim mRaData3 As JV_O3_ODDS_WIDE
Dim mRaData4 As JV_O4_ODDS_UMATAN
Dim mRaData5 As JV_O5_ODDS_SANREN
Static mRaData6(0) As JV_O6_ODDS_SANRENTAN
If JvMode = 5 Then
データラボ.Caption = "オッズin取得中"
データラボ.BackColor = RGB(255, 0, 0)
Cancelflg = False
DLflg = False
Er = 0
Sheets("出馬表").オッズ読込JvYSt
If RTime = "End" Or RTime = "" Then
ラボEND
Exit Sub
End If
Erase StOz
Erase Bt
Erase Bf
Erase Bf2
Erase Bw
Erase By
Erase By2
Erase Be
Erase B3f
Erase B3t
Buff = ""
Filename = ""
開催日場トラックR
'********************************************************************O1-O6
JVLink1.JVInit ("EXCELSAMPLE") 'JVLinkを初期化
Retval = JVLink1.JVRTOpen("0B30", MyDay & JvJo & RNo)
変換JV場
If Retval <> 0 Then
ErNo = Retval
JVエラー
Exit Sub
End If
ダウンロード中
While Retval <> 0
If Cancelflg = True Then ラボEND 'キャンセルボタンチェック
Retval = JVLink1.JVRead(Buff, 83286, Filename) 'JVOpenで指定したデータを1レコードずつfilenameに取り込み
' JVReadエラー処理
If (Retval < -1) Then
ErNo = Retval
JVエラー
Exit Sub
End If
'--------------------------------------------------------------------O1 単複枠 & stoz & 中止
If Left(Buff, 2) = "O1" Then
Call SetData_O1(Buff, mRaData1)
With mRaData1
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay Then
If .head.DataKubun = "9" Then '--中止 "1"=中間 "4"=確定 "9"=中止 !オッズ提供後に中止の場合のみ"9"提供前中止はヌル
JvTc = "0000"
End If
TimeOz = .HappyoTime.Hour & ":" & .HappyoTime.Minute 'Oz発表時間
Sheets("出馬表").Cells(YJv, 12) = TimeOz
変換JV場
StOz(1) = MyDay & Mid(JvJo, 1, 2) & RNo '----年月日場R 8b
StOz(2) = .TorokuTosu '' 登録頭数 2b
StOz(3) = .SyussoTosu '' 出走頭数 2b
StOz(4) = .FukusyoFlag '' 発売フラグ 1b
StOz(5) = .WakurenFlag '' 発売フラグ 枠連 1b
StOz(6) = .WakurenFlag '' 複勝着払キー 1b
StOz(7) = .TotalHyosuTansyo '' 単勝票数合計 11b
StOz(8) = .TotalHyosuFukusyo '' 複勝票数合計 11b
StOz(9) = .TotalHyosuWakuren '' 枠連票数合計 11b
For A = 0 To 17
St1 = .OddsTansyoInfo(A).Umaban
If IsNumeric(St1) = True Then
Bt(St1, 1) = Val(.OddsTansyoInfo(A).Odds) / 10 '4b*18
Uma = St1
Uma位置
Sheets("出馬表").Cells(YJv, XJv + 1) = Bt(St1, 1)
End If
Next
For A = 0 To 17
St1 = .OddsFukusyoInfo(A).Umaban
If IsNumeric(St1) = True Then
Bf(St1, 1) = Val(.OddsFukusyoInfo(A).OddsLow) / 10 '4b*18
Bf2(St1, 1) = Val(.OddsFukusyoInfo(A).OddsHigh) / 10 '4b*18
End If
Next
For A = 0 To 35
St1 = .OddsWakurenInfo(A).Kumi
If IsNumeric(St1) = True Then
U1 = Mid$(St1, 1, 1)
U2 = Mid$(St1, 2, 1)
Bw(U1, U2, 1) = Val(.OddsWakurenInfo(A).Odds) / 10 '5b*36
End If
Next
End If
End With
End If
'----------------------------------------------------------------------O2 馬連
If Left(Buff, 2) = "O2" Then
Call SetData_O2(Buff, mRaData2)
With mRaData2
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay Then
StOz(10) = .TotalHyosuUmaren '' 馬連票数合計 11b
For A = 0 To 152
St1 = .OddsUmarenInfo(A).Kumi
If IsNumeric(St1) = True Then
U1 = Mid$(St1, 1, 2)
U2 = Mid$(St1, 3, 2)
Bu(U1, U2, 1) = Val(.OddsUmarenInfo(A).Odds) / 10 '6b*153
End If
Next
End If
End With
End If
'----------------------------------------------------------------------O3 ワイドLow
If Left(Buff, 2) = "O3" Then
Call SetData_O3(Buff, mRaData3)
With mRaData3
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay Then
StOz(11) = .TotalHyosuWide '' ワイド票数合計 11b
For A = 0 To 152
St1 = .OddsWideInfo(A).Kumi
If IsNumeric(St1) = True Then
U1 = Mid$(St1, 1, 2)
U2 = Mid$(St1, 3, 2)
By(U1, U2, 1) = Val(.OddsWideInfo(A).OddsLow) / 10 '5b*153
By2(U1, U2, 1) = Val(.OddsWideInfo(A).OddsHigh) / 10 '5b*153
End If
Next
End If
End With
End If
'-----------------------------------------------------------------------O4 馬単
If Left(Buff, 2) = "O4" Then
Call SetData_O4(Buff, mRaData4)
With mRaData4
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay Then
StOz(12) = .TotalHyosuUmatan '' 馬単票数合計 11b
For A = 0 To 305
St1 = .OddsUmatanInfo(A).Kumi
If IsNumeric(St1) = True Then
U1 = Mid$(St1, 1, 2)
U2 = Mid$(St1, 3, 2)
Be(U1, U2, 1) = Val(.OddsUmatanInfo(A).Odds) / 10 '6b*306
End If
Next
End If
End With
End If
'-----------------------------------------------------------------------O5 3連複
If Left(Buff, 2) = "O5" Then
Call SetData_O5(Buff, mRaData5)
With mRaData5
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay Then
StOz(13) = .TotalHyosuSanrenpuku '' 3連複票数合計 11b
For A = 0 To 815
St1 = .OddsSanrenInfo(A).Kumi
If IsNumeric(St1) = True Then
U1 = Mid$(St1, 1, 2)
U2 = Mid$(St1, 3, 2)
U3 = Mid$(St1, 5, 2)
B3f(U1, U2, U3, 1) = Val(.OddsSanrenInfo(A).Odds) / 10 '6b*816
End If
Next
End If
End With
End If
'----------------------------------------------------------------------O6 3連単
If Left(Buff, 2) = "O6" Then
Call SetData_O6(Buff, mRaData6(0))
With mRaData6(0)
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay Then
StOz(14) = .TotalHyosuSanrentan '' 3連単票数合計 11b
For A = 0 To 4895
St1 = .OddsSanrentanInfo(A).Kumi
If IsNumeric(St1) = True Then
U1 = Mid$(St1, 1, 2)
U2 = Mid$(St1, 3, 2)
U3 = Mid$(St1, 5, 2)
B3t(U1, U2, U3, 1) = Val(.OddsSanrentanInfo(A).Odds) / 10 '7b*4896
End If
Next
End If
End With
End If
Label1.Caption = Buff
DoEvents
If Retval = -203 Then
ErNo = Retval
JVエラー
Exit Sub
End If
Wend
ラボEND
End If
End Sub
'*****************************************************************************************************
Sub 開催情報in()
If JvMode = 4 Then
データラボ.Caption = "開催情報in取得中"
データラボ.BackColor = RGB(255, 255, 0)
Cancelflg = False
DLflg = False
Er = 0
CkWe = 0
Sheets("出馬表").開催情報読込JvYSt
If RTime = "End" Or RTime = "" Then
ラボEND
Exit Sub
End If
開催日場トラックR
'-------------------------------------------------------------------------------------------競馬開催 時間外終了
JvDay = DateValue(Mid(MyDay, 1, 4) & "/" & Mid(MyDay, 5, 2) & "/" & Mid(MyDay, 7, 2))
If JvDay = DateValue(Now) Then
If TimeValue(Now) > TimeValue("09:00:00") And TimeValue(Now) < TimeValue("19:00:00") Then 'JCDay1R9:30
Else
Er = 1
Debug.Print ("開催情報in で競馬開催 時間外終了 Er" & Er)
ラボEND
Exit Sub
End If
Else
Er = 1
Debug.Print ("開催情報in で競馬開催 日付外終了 Er" & Er)
ラボEND
Exit Sub
End If
'*******************************************************************************開催情報
JVLink1.JVInit ("EXCELSAMPLE") 'JVLinkを初期化
Retval = JVLink1.JVRTOpen("0B14", MyDay)
If Retval <> 0 Then
ErNo = Retval
JVエラー
Exit Sub
End If
ダウンロード中
While Retval <> 0
If Cancelflg = True Then ラボEND 'キャンセルボタンチェック
Retval = JVLink1.JVRead(Buff, 83286, Filename) 'JVOpenで指定したデータを1レコードずつfilenameに取り込み
' JVReadエラー処理
If (Retval < -1) Then
ErNo = Retval
JVエラー
Exit Sub
End If
'---------------------------------------------------------------------WE 天候馬場状態
If Left(Buff, 2) = "WE" Then
Dim mRaDataWE As JV_WE_WEATHER
Call SetData_WE(Buff, mRaDataWE)
With mRaDataWE
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay And JvJo = .id.JyoCD Then
CkWe = 1
If EndDay = 0 Then
If JvTr = "芝" And .TenkoBaba.SibaBabaCD <> 0 Then
JvWe = .TenkoBaba.SibaBabaCD '0=未設定(確定前)、初期値(地、海用)1=r 2=y 3=o 4=f'最後に取得した値が、現在値
MyBaba変換
Sheets("出馬表").Cells(YJv, 11) = JvWe
ElseIf JvTr = "ダ" And .TenkoBaba.DirtBabaCD <> 0 Then
JvWe = .TenkoBaba.DirtBabaCD '0=未設定、初期値(地、海用)1=r 2=y 3=o 4=f'最後に取得した値が、現在値
MyBaba変換
Sheets("出馬表").Cells(YJv, 11) = JvWe
End If
End If
End If
End With
End If
'---------------------------------------------------------------------AV 出走取消・競走除外
If Left(Buff, 2) = "AV" Then
Dim mRaDataAV As JV_AV_INFO
Call SetData_AV(Buff, mRaDataAV)
With mRaDataAV
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay And JvJo = .id.JyoCD And RNo = .id.RaceNum Then
Uma = .Umaban
Uma位置
Sheets("出馬表").Cells(YJv, XJv + 1) = "取消し" 'Oz
End If
End With
End If
'---------------------------------------------------------------------JC 騎手変更
If Left(Buff, 2) = "JC" Then
Dim mRaDataJC As JV_JC_INFO
Call SetData_JC(Buff, mRaDataJC)
With mRaDataJC
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay And JvJo = .id.JyoCD And RNo = .id.RaceNum Then
Uma = .Umaban
Uma位置
St1 = Replace(.JCInfoAfter.KisyuName, " ", "") '全角スペース削除 .JCInfoBefore.KisyuName(前JK)
St1 = Mid(St1, 1, 4)
Sheets("出馬表").Cells(YJv, XJv + 3) = St1
End If
End With
End If
'---------------------------------------------------------------------CC コース変更
If Left(Buff, 2) = "CC" Then
Dim mRaDataCC As JV_CC_INFO
Call SetData_CC(Buff, mRaDataCC)
With mRaDataCC
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay And JvJo = .id.JyoCD And RNo = .id.RaceNum Then
JvTrack = .CCInfoBefore.TruckCD ' --------トラックコ-ド
変換JVトラック
Sheets("出馬表").Cells(YJv, 9) = JvTrack
Sheets("出馬表").Cells(5 + i, 9).Interior.ColorIndex = TColor
Sheets("出馬表").Cells(YJv, 10) = .CCInfoBefore.Kyori '' 距離
End If
End With
End If
Label1.Caption = Buff
DoEvents
If Retval = -203 Then
ErNo = Retval
JVエラー
Exit Sub
End If
Wend
ラボEND
End If
If JvMode = 4 Then
データラボ.Caption = "開催情報in取得中"
データラボ.BackColor = RGB(255, 255, 0)
Cancelflg = False
DLflg = False
CkWh = 0
Sheets("出馬表").開催情報読込JvYSt
開催日場トラックR
'************************************************************************************WH 馬体重
JVLink1.JVInit ("EXCELSAMPLE") 'JVLinkを初期化
Retval = JVLink1.JVRTOpen("0B11", MyDay)
If Retval <> 0 Then
ErNo = Retval
JVエラー
Exit Sub
End If
ダウンロード中
While Retval <> 0
If Cancelflg = True Then ラボEND 'キャンセルボタンチェック
Retval = JVLink1.JVRead(Buff, 83286, Filename) 'JVOpenで指定したデータを1レコードずつfilenameに取り込み
' JVReadエラー処理
If (Retval < -1) Then
ErNo = Retval
JVエラー
Exit Sub
End If
'-------------------------------------------------------------------------WH 馬体重
If Left(Buff, 2) = "WH" Then
Dim mRaDataWH As JV_WH_BATAIJYU
Call SetData_WH(Buff, mRaDataWH)
With mRaDataWH
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay And JvJo = .id.JyoCD And RNo = .id.RaceNum Then
CkWh = 1
For A = 0 To 17
Uma = A + 1
Uma位置
JvWh = .BataijyuInfo(A).BaTaijyu '馬体重 000=出走取消 999=計量不能 ###
If IsNumeric(JvWh) = True Then
JvWhF = .BataijyuInfo(A).ZogenFugo '増減符号 + - スペース(その他) $
JvWhZ = .BataijyuInfo(A).ZogenSa '増減差 999=計量不能 000=前差ナシ スペース=初出走、取消 ###
Sheets("出馬表").Cells(YJv, XJv + 4) = JvWh
Sheets("出馬表").Cells(YJv, XJv + 5) = JvWhF & JvWhZ
End If
Next
Else
End If
End With
End If
Label1.Caption = Buff
DoEvents
If Retval = -203 Then
ErNo = Retval
JVエラー
Exit Sub
End If
Wend
ラボEND
End If
End Sub
Sub 発走時刻in()
If JvMode = 3 Then
データラボ.Caption = "発走時刻in取得中"
データラボ.BackColor = RGB(255, 255, 255)
Cancelflg = False
DLflg = False
Er = 0
CkTc = 0 '発走時刻確認
Sheets("出馬表").発走時刻読込JvYSt
If RTime = "End" Or RTime = "" Then
ラボEND
Exit Sub
End If
開催日場トラックR
'*******************************************************************************RA レース詳細 中止のみ
JVLink1.JVInit ("EXCELSAMPLE") 'JVLinkを初期化''ラボファイル名 yyyymmddJJRR
Retval = JVLink1.JVRTOpen("0B15", MyDay & JvJo & RNo) 'データの取り込み呼び出し
If Retval <> 0 Then
ErNo = Retval
JVエラー
Exit Sub
End If
ダウンロード中
If ErNo = -999 Then 'Myエラー
Exit Sub
End If
While Retval <> 0 '変更前Retval=-1新しいDataが無くなった -1の次は0になる
If Cancelflg = True Then ラボEND 'キャンセルボタンチェック
Retval = JVLink1.JVRead(Buff, 83286, Filename) 'JVOpenで指定したデータを1レコードずつfilenameにfilenameに取り込み
' JVReadエラー処理
If (Retval < -1) Then
ErNo = Retval
JVエラー
Exit Sub
End If
'--------------------------------------------------------------------レース詳細 中止
If Left(Buff, 2) = "RA" Then
Dim mRaDataRA As JV_RA_RACE
Call SetData_RA(Buff, mRaDataRA)
With mRaDataRA
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay And JvJo = .id.JyoCD And RNo = .id.RaceNum Then
If .head.DataKubun = "9" Then '中止 !!
JvTc = "0000"
Sheets("出馬表").Cells(YJv, 1) = JvTc
Sheets("出馬表").Cells(YJv, 1).Interior.ColorIndex = 15
CkTc = 2 '発走時刻変更 中止
End If
End If
End With
End If
Label1.Caption = Buff
DoEvents
If Retval = -203 Then
ErNo = Retval
JVエラー
Exit Sub
End If
Wend
ラボEND
End If
If JvMode = 3 Then
Sheets("出馬表").発走時刻読込JvYSt
開催日場トラックR
'*******************************************************************************TC 発走時刻変更
JVLink1.JVInit ("EXCELSAMPLE") 'JVLinkを初期化
Retval = JVLink1.JVRTOpen("0B14", MyDay)
'Long JVRTOpen( String 型 dataspec , String 型 key)
'指定するキー(key)
'提供単位レース毎 "YYYYMMDDJJKKHHRR" KK=回次 HH=日次 'または '“YYYYMMDDJJRR”KK=回次 HH=日次
'提供単位開催日単位 “YYYYMMDD”
'※1:各イベントから返されるパラメータを key に JVRTOpen を使用する場合 イベント 通知を受信するメソッドから返されるパラメータを
'key として JVRTOpen を 使用する場合は、Dataspec を以下のように指定してください。
'種類 Dataspec提供単位
'払戻確定 0B12 レース単位
'騎手変更 0B16 変更情報発表単位(複数件の騎手変更情報を提供する場合もあります)
'天候馬場状態変更 0B16 場単位
'コース変更 0B16 レース単位
'出走取消・競走除外 0B16 変更情報発表単位(複数件の出走取消・競走除外情報を提供する場合もあります)
'発走時刻変更 0B16 変更情報発表単位(複数件の発走時刻変更情報を提供する場合もあります)
'馬体重発表 0B11 レース単位
If Retval <> 0 Then
ErNo = Retval
JVエラー
Exit Sub
End If
ダウンロード中
While Retval <> 0
If Cancelflg = True Then ラボEND 'キャンセルボタンチェック
Retval = JVLink1.JVRead(Buff, 83286, Filename) 'JVOpenで指定したデータを1レコードずつfilenameに取り込み
' JVReadエラー処理
If (Retval < -1) Then
ErNo = Retval
JVエラー
Exit Sub
End If
'--------------------------------------------------------------------TC 発走時刻変更
If Left(Buff, 2) = "TC" Then
Dim mRaDataTC As JV_TC_INFO
Call SetData_TC(Buff, mRaDataTC)
With mRaDataTC
JvDay = .id.MonthDay
If Mid(MyDay, 5, 4) = JvDay And .TCInfoAfter.Ji & .TCInfoAfter.Fun <> .TCInfoBefore.Ji & .TCInfoBefore.Fun And JvJo = .id.JyoCD And RNo = .id.RaceNum Then '変更有
JvTc = .TCInfoAfter.Ji & .TCInfoAfter.Fun 'hh & mm
Sheets("出馬表").Cells(YJv, 1) = JvTc
CkTc = 1 '発走時刻変更
End If
End With
End If
Label1.Caption = Buff
DoEvents
If Retval = -203 Then
ErNo = Retval
JVエラー
Exit Sub
End If
Wend
ラボEND
End If
End Sub
Sub 過去馬in()
If JvMode = 2 Then '****************************************************************過去馬
データラボ.Caption = "過去馬in取得中"
データラボ.BackColor = RGB(255, 255, 255)
Cancelflg = False
DLflg = False
Er = 0
BameiBk = "" 'バックアップ馬名
CkKako = 0 '過去馬確認
過去馬日付
JVLink1.JVInit ("EXCELSAMPLE") 'JVLinkを初期化
Retval = JVLink1.JVOpen("RCVN", StartDate, 2, Readcount, Dlcount, Lastfiletimestamp)
'RCOV→RCVN:非蓄積系ソフト用 補てん情報(レース情報補てん)に含まれる馬毎レース情報は競走馬毎(血統登録番号毎昇順)に直近レース情報から過去レース情報の順(年月日場回日R降順)で収録することとします
'データ仕様変更に伴い、データ種別が変更されています。(例)RCOV→RCVN変更前のデータ種別では8/8以降のデータは取得できません。
'蓄積系データのRACEを20040801000000以降について取り込み呼び出し
'【構文】Long JVOpen( String 型 dataspec , String 型 fromtime , Long 型 option , Long型 readcount , Long 型 downloadcount , String 型 lastfiletimestamp );
'dataspec に指定したデータの読出し開始ポイントを時刻(YYYYMMDDhhmmss の形式)で指定します。ここで指定した時刻より大きくかつ現在時刻までに提供されたデータが読み出しの対象となります。
'fromtime
'option = 1 通常データ 蓄積系ソフトがデータをメンテナンスする際の差分データの読み出しの場合は1を指定します。
'1を指定した場合は全てのデータの中から dataspec,fromtime に該当するデータが読み出されます。
'option = 2 今週データ 非蓄積系ソフトが今週ぶんのデータのみを読み出したい場合には2を指定します。
'2を指定すると直近の未来のレースに関するデータ(出走予定馬の過去走情報を含む)と直前のレースの成績関連のデータに該当するデータだけを読み出します。
'option = 3 セットアップデータ
'option = 4 ダイアログ無しセットアップデータ(初回のみダイアログを表示します。)セットアップを分割して行いたい場合(データ種別毎にセットアップを行う場合等)には、 4を指定します。
'4を指定した場合は、セットアップデータの取得元を指定するダイアログが初回のみ表示され2回目以降は初回に指定した取得元にてセットアップが行われます。
'readcount dataspec,fromtime,option で指定した条件に該当する全ファイル数が返されます。呼び出し時に値をセットする必要はありません。
'downloadcount readcount で返された数のうちダウンロードあるいはスタートキット(CD/DVD-ROM)からのコピーが必要なファイルの数が返されます。
'lastfiletimestamp dataspec,fromtime,option で指定した条件に該当する全ファイルのうち最も新しいファイルのタイムスタンプが
'YYYYMMDDhhmmss の形式で返されます。このタイムスタンプは次に JVOpen を呼び出す場合に fromtime として指定するために必要ですので
'レジストリやファイルまたはデータベースなどに保存しておく必要があります。
'また、lastfiletimestamp の設定で JVRead/JVGets の中断・再開が可能です。設定方法は以下の通り。
'・通常データの中断・再開
'最後に読込んだファイルの m_CurrentFileTimestamp を保持し、再開時の JVOpen のfromtime に、保持している m_CurrentFileTimestamp を設定することで JVRead/JVGets
'を再開することができます。(dataspec を個別に指定した場合は dataspec 毎に保持を行う。)
'・セットアップデータの中断・再開 最後に読込んだファイル名を保持し、再開時には前回と同じパラメータにて JVOpen を行い、保 持しているファイル名まで JVSkip を行う事で
'JVRead/JVGets を再開することができます。 (dataspec を個別に指定した場合は dataspec 毎に保持を行う。)
'******************************************************************************************************************************
'以下の option パラメータと dataspec の組み合わせは指定できません。
'Option dataspec に指定できないデータ種別 ID
'1 TCOV , RCOV
'2 DIFF , BLOD, SLOP, YSCH, COMM, MING
'3, 4 TCOV,RCOV
If (Retval < 0) Then 'JVOpenエラー処理
ErNo = Retval
JVエラー
Exit Sub
End If
'------------------------------------------------------ファイルのダウンロード mRaData As JV_RA_RACE
Dim mSEdata As JV_SE_RACE_UMA
Dim mUMdata As JV_UM_UMA
ダウンロード中
While Retval <> 0
If Cancelflg = True Then ラボEND 'キャンセルボタンチェック
Retval = JVLink1.JVRead(Buff, 40000, Filename) 'JVOpenで指定したデータを1レコードずつ取り込み
If (Retval < -1) Then ' JVReadエラー処理'JVRTOpenこけたらJVOpenが行なわれていない
ErNo = Retval
JVエラー
Exit Sub
End If
'****** 3.馬毎レース情報**************************************************
If Left(Buff, 2) = "SE" Then '---------------------------------------------SE
Call SetData_SE(Buff, mSEdata) 'JVData構造体にRAのレコードをセットする
With mSEdata
St1 = .Bamei
'-------------------------------------------------前走タイム差
JvSa = Val(.TimeDiff) * 0.1
If Val(.TimeDiff) = 0 Then
If Mid(.TimeDiff, 1, 1) = "+" Then ' タイム差 1着馬とのタイム差を設定(自身が1着の場合は2着馬を設定)
JvSa = "+" & JvSa '符号(+または-)+99秒9 符号は1着:-、2着以下:+
Else '出走取消・競走除外・発走除外・競走中止の場合は "9999" を設定
JvSa = "-" & JvSa
End If
ElseIf Mid(.TimeDiff, 1, 1) = "+" Then ' タイム差 1着馬とのタイム差を設定(自身が1着の場合は2着馬を設定)
JvSa = "+" & JvSa '符号(+または-)+99秒9 符号は1着:-、2着以下:+
Else '出走取消・競走除外・発走除外・競走中止の場合は "9999" を設定
End If
'------------------------------------------------SE予備①
'変数に代入する
If BameiBk = St1 Then
'同一馬名スキップ
Else '---------------------------------馬名変更でその馬の過去Data終わりで処理
If BameiBk <> "" Then '初回以外
If YJv <= 40 Then
'------------------------------------------------------過去馬を書き出し
Cells(YJv, XJv + 7) = Zen(1, 1) & " _" & Zen(2, 1) '前走日付
Cells(YJv, XJv + 8) = Zen(1, 2) & " _" & Zen(2, 2) ' 着差
' Cells(YJv, XJv + 9) = Zen(1, 3) & " _" & Zen(2, 3) 'SE予備③ Sub タタキ前走Dataで代入
End If
End If
'---------------------------------------------------------------過去馬初期化
Erase Zen '過去10 カテゴリ3
ZenS = 1 '過去数
馬名検索 '初戦は馬名無い
BameiBk = St1
End If
If YJv > 40 Then
'Debug.Print ("馬名" & .Bamei & "!!見つかりません")
'Stop
Else
CkKako = 1
JvUmaDay2 = .id.Year & "/" & Mid(.id.MonthDay, 1, 2) & "/" & Mid(.id.MonthDay, 3, 2)
If JvUmaDay2 = "//" Then
Zen(ZenS, 1) = "初" 'データ無し(初戦)で終了
ElseIf ZenS = 1 Then
JvUmaDay1 = Cells(5, 2) & " /" & Mid(Cells(5, 3), 1, 2) & " /" & Mid(Cells(5, 3), 3, 2) '休み明け判定用 レース日
前走Data
ElseIf 2 <= ZenS And ZenS <= 10 Then
JvUmaDay1 = Zen(ZenS - 1, 1)
前走Data
Else '10<=ZenS
'過去数上限スキップ
End If
End If
End With
'****** 11.競走馬マスタ******************************************************
ElseIf Left(Buff, 2) = "UM" Then '-----------------------------------------------UM
Call SetData_UM(Buff, mUMdata) 'JVData構造体にUMのレコードをセットする
With mUMdata
St1 = .Bamei
馬名検索
Cells(YJv, XJv + 10) = .Ketto3Info(0).Bamei ' '<3代血統情報>
'Cells(YJv, XJv - 2 + 11) ='UM予備
End With
Else
JVLink1.JVSkip
End If
Label1.Caption = Buff
DoEvents
If Retval = -203 Then
ErNo = Retval
JVエラー
Exit Sub
End If
Wend
ラボEND
End If
End Sub
Sub 出馬表in()
If JvMode = 1 Then
データラボ.Caption = "出馬表in取得中"
データラボ.BackColor = RGB(255, 255, 255)
CommandButton1.Enabled = False '処理中はボタンを押させない
Cancelflg = False
DLflg = False
i = 0 'R数+1
Sheets("出馬表").Cells(3, 5) = "" 'データ区分
Er = 0
CkDeUma = 0 '出馬表チェック
出馬表日付
JVLink1.JVInit ("EXCELSAMPLE") 'JVLinkを初期化
Retval = JVLink1.JVOpen("RACE", StartDate, 2, Readcount, Dlcount, Lastfiletimestamp)
'蓄積系データのRACEを20040801000000以降について取り込み呼び出し
'【構文】Long JVOpen( String 型 dataspec , String 型 fromtime , Long 型 option , Long型 readcount , Long 型 downloadcount , String 型 lastfiletimestamp );
'dataspec に指定したデータの読出し開始ポイントを時刻(YYYYMMDDhhmmss の形式)で指定します。ここで指定した時刻より大きくかつ現在時刻までに提供されたデータが読み出しの対象となります。
'fromtime
'option = 1 通常データ 蓄積系ソフトがデータをメンテナンスする際の差分データの読み出しの場合は1を指定します。
'1を指定した場合は全てのデータの中から dataspec,fromtime に該当するデータが読み出されます。
'option = 2 今週データ 非蓄積系ソフトが今週ぶんのデータのみを読み出したい場合には2を指定します。
'2を指定すると直近の未来のレースに関するデータ(出走予定馬の過去走情報を含む)と直前のレースの成績関連のデータに該当するデータだけを読み出します。
'option = 3 セットアップデータ
'option = 4 ダイアログ無しセットアップデータ(初回のみダイアログを表示します。)セットアップを分割して行いたい場合(データ種別毎にセットアップを行う場合等)には、 4を指定します。
'4を指定した場合は、セットアップデータの取得元を指定するダイアログが初回のみ表示され2回目以降は初回に指定した取得元にてセットアップが行われます。
'readcount dataspec,fromtime,option で指定した条件に該当する全ファイル数が返されます。呼び出し時に値をセットする必要はありません。
'downloadcount readcount で返された数のうちダウンロードあるいはスタートキット(CD/DVD-ROM)からのコピーが必要なファイルの数が返されます。
'lastfiletimestamp dataspec,fromtime,option で指定した条件に該当する全ファイルのうち最も新しいファイルのタイムスタンプが
'YYYYMMDDhhmmss の形式で返されます。このタイムスタンプは次に JVOpen を呼び出す場合に fromtime として指定するために必要ですので
'レジストリやファイルまたはデータベースなどに保存しておく必要があります。
'また、lastfiletimestamp の設定で JVRead/JVGets の中断・再開が可能です。設定方法は以下の通り。
'・通常データの中断・再開
'最後に読込んだファイルの m_CurrentFileTimestamp を保持し、再開時の JVOpen のfromtime に、保持している m_CurrentFileTimestamp を設定することで JVRead/JVGets
'を再開することができます。(dataspec を個別に指定した場合は dataspec 毎に保持を行う。)
'・セットアップデータの中断・再開 最後に読込んだファイル名を保持し、再開時には前回と同じパラメータにて JVOpen を行い、保 持しているファイル名まで JVSkip を行う事で
'JVRead/JVGets を再開することができます。 (dataspec を個別に指定した場合は dataspec 毎に保持を行う。)
'******************************************************************************************************************************
'以下の option パラメータと dataspec の組み合わせは指定できません。
'Option dataspec に指定できないデータ種別 ID
'1 TCOV , RCOV
'2 DIFF , BLOD, SLOP, YSCH, COMM, MING
'3, 4 TCOV,RCOV
If (Retval < 0) Then 'JVOpenエラー処理
ErNo = Retval
JVエラー
Exit Sub
End If
'------------------------------------------------------ファイルのダウンロード mRaData As JV_RA_RACE
Dim mRAdata As JV_RA_RACE
Dim mSEdata As JV_SE_RACE_UMA
ダウンロード中
If ErNo = -999 Then
Exit Sub
End If
While Retval <> 0
If Cancelflg = True Then ラボEND 'キャンセルボタンチェック
Retval = JVLink1.JVRead(Buff, 40000, Filename) 'JVOpenで指定したデータを1レコードずつ取り込み
If (Retval < -1) Then ' JVReadエラー処理'JVRTOpenこけたらJVOpenが行なわれていない
ErNo = Retval
JVエラー
Exit Sub
End If
'****** 2.レース詳細 *********************************************************
If Left(Buff, 2) = "RA" Then '-------------------------------------------------RA
Call SetData_RA(Buff, mRAdata) 'JVData構造体にRAのレコードをセットする
With mRAdata
If i = i Then
CkDeUma = .head.DataKubun 'データ区分 日曜日から読み込み特別Rは区分2
Sheets("出馬表").Cells(3, 5) = CkDeUma
End If
Sheets("出馬表").Cells(5 + i, 1) = CStr(.HassoTime) '------発走時刻 'HassoTimeBefore '変更前発走時刻(今週ぶんのデータは空)
Sheets("出馬表").Cells(5 + i, 2) = .id.Year ''------ 開催年
Sheets("出馬表").Cells(5 + i, 3) = CStr(.id.MonthDay) '-- 開催月日
JvJo = .id.JyoCD
変換JV場
Sheets("出馬表").Cells(5 + i, 4) = JvJo
Sheets("出馬表").Cells(5 + i, 5) = .id.RaceNum ''--- レース番号
Sheets("出馬表").Cells(5 + i, 6) = .RaceInfo.Hondai 'レース名
JvGrade = .GradeCD '----------------------------- '' グレードコード
変換JVグレード
If JvGrade = "000" Then
For A = 0 To 4
JvGrade = .JyokenInfo.JyokenCD(A) ' -競走条件コード 0-4 28 2歳条件競走条件コード
' 29 3歳条件競走条件コード
' 30 4歳条件競走条件コード
' 31 5歳以上条件競走条件コード
' 32 最若年条件
If Val(JvGrade) > 0 Then Exit For
Next
変換JV競争条件
End If
Sheets("出馬表").Cells(5 + i, 7) = CStr(JvGrade)
Sheets("出馬表").Cells(5 + i, 8) = .TorokuTosu '' ----登録頭数
JvTrack = .TrackCD ' ----------------------------------トラックコード
変換JVトラック
Sheets("出馬表").Cells(5 + i, 9) = JvTrack
Sheets("出馬表").Cells(5 + i, 9).Interior.ColorIndex = TColor
Sheets("出馬表").Cells(5 + i, 10) = .Kyori '' -------距離
If .TenkoBaba.SibaBabaCD > 0 Then ''芝馬場状態コード ダR時=0 ?未設定・未整備時の初期値=0
JvBaba = .TenkoBaba.SibaBabaCD ''--------- -------芝馬場状態コード
Else
JvBaba = .TenkoBaba.DirtBabaCD '' ----------------ダート馬場状態コード
End If
変換JV馬場状態
Sheets("出馬表").Cells(5 + i, 11) = JvBaba '-----------------馬場状態コード
'Sheets("出馬表").Cells(5 + i, 21) ='RA予備
End With
i = i + 1
'****** 3.馬毎レース情報****************************************************
ElseIf Left(Buff, 2) = "SE" Then '---------------------------------------------SE
Call SetData_SE(Buff, mSEdata) 'JVData構造体にRAのレコードをセットする
With mSEdata
YJv = 5
JvJo = mSEdata.id.JyoCD
変換JV場
JvDay = .id.MonthDay '
Do
If Cells(YJv, 3) = JvDay And Cells(YJv, 4) = JvJo And Cells(YJv, 5) = Val(.id.RaceNum) Then '' レース番号
Exit Do
Else
YJv = YJv + 1
If YJv > 81 Then Stop
End If
Loop
Uma = .Umaban '' ----------------------馬番
If Uma > 0 Then 'データ区分1の時0
Uma位置
Cells(YJv, XJv) = Uma
Cells(YJv, XJv).Interior.ColorIndex = 33
Cells(YJv, XJv + 2) = .Bamei ''------- 馬名
St1 = Replace(.KisyuRyakusyo, " ", "") '全角スペース削除
Cells(YJv, XJv + 3) = St1 '騎手名略称
Cells(YJv, XJv + 4) = .BaTaijyu ''---- 馬体重
Cells(YJv, XJv + 5) = .ZogenSa ''----- 増減差
'cells(yjv,xjv+6)='SE予備
End If
End With
Else
JVLink1.JVSkip
End If
Label1.Caption = Buff
DoEvents
If Retval = -203 Then
ErNo = Retval
JVエラー
Exit Sub
End If
Wend
If i < 1 Then i = 1
Cells(i, 1).Activate
Cells(1, 1) = i
ラボEND
End If
End Sub
Sub 前走Data()
'休み明け(10週以上開く) 77で休み、77で連判定有 競争除外もカウントする?デビュー戦は休み明け初戦としては扱われません。
St1 = Replace(JvUmaDay1, "休", "")
St2 = Replace(JvUmaDay2, "休", "")
If DateValue(St1) - DateValue(St2) >= 69 Then '休み明け(10週以上開く)
Zen(ZenS, 1) = St2 & "休" '休み明けで終了
Else
Zen(ZenS, 1) = St2 '前走日
End If
'Zen(何走前, 条件1・条件2・・)
Zen(ZenS, 2) = JvSa ' 着差
'Zen(ZenS, 3) = SE予備②
ZenS = ZenS + 1
If ZenS = 11 Then Zen(ZenS, 1) = "以上"
End Sub
Sub 馬名検索()
Uma = 19
Uma位置
X = XJv
For YJv = 5 To 45
For XJv = XUma1 To X Step 12
If Cells(YJv, XJv + 2) = St1 Then Exit Sub
Next
Next
End Sub
Sub 過去馬日付()
If Hour(Now) > 19 Then
StartDate = -4
Else
StartDate = -5
End If
StartDate = date + Val(StartDate) '。
StartDate = Format(StartDate, "yyyymmdd") & "010100"
End Sub
Sub 出馬表日付()
If Hour(Now) >= 19 Then '薄暮最終18:30 ダービーDay最終17:00 !
StartDate = 1
Else
StartDate = -1
End If
StartDate = date + Val(StartDate) '当日ダメ !fromtime より大きい時刻に該当するデータを取得します。
StartDate = Format(StartDate, "yyyymmdd") & "010100"
Sheets("出馬表").Cells(1, 2) = StartDate
End Sub
Sub ラボEND()
JVLink1.JVClose '一通り読み込みが終わった後はJVCloseを行う
If Cancelflg = True Then
MsgBox "キャンセルされました。"
End If
CommandButton3.Caption = "Exit"
DLflg = False
CommandButton1.Enabled = True 'ボタンを押せる
データラボ.Hide '自動でデータラボ閉じる
End Sub
Private Sub CommandButton1_Click()
If JvMode = 1 Then
出馬表in
ElseIf JvMode = 2 Then
過去馬in
ElseIf JvMode = 3 Then
発走時刻in
ElseIf JvMode = 4 Then
開催情報in
ElseIf JvMode = 5 Then
オッズin
ElseIf JvMode = 6 Then
払い戻しin
Else
Stop
End If
End Sub
Private Sub CommandButton1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
End Sub
Private Sub CommandButton2_Click()
Retval = JVLink1.JVSetUIProperties()
'JVSetUIPropatiesエラー処理
If (Retval < 0) Then
MsgBox ("エラーのためJV-Linkの設定に失敗しました。")
End If
End Sub
Private Sub CommandButton3_Click()
If DLflg = True Then
Cancelflg = True
Else
Unload Me
End If
End Sub
Sub ダウンロード中()
Status = 0
DLflg = True
CommandButton3.Caption = "キャンセル"
DLTime = Timer
Do While Status <> Dlcount
If Timer - DLTime > 120 Then
ErNo = -999 'Myエラー
Debug.Print ("***Sub ダウンロード中 でタイムオーバー発生 JvMode" & JvMode)
JVエラー
Exit Sub
End If
If Cancelflg = True Then Exit Do 'キャンセルボタンチェック
Status = JVLink1.JVStatus
Label1.Caption = Dlcount & "ダウンロード中 ファイルダウンロード完了"
DoEvents
Sleep (120)
Loop
Cancelflg = False 'キャンセル用フラグ初期化
Retval = 1
End Sub
Sub JVエラー() 'JVOpen/JVRTOpen JVRead/JVGets
If ErNo = -1 Then Debug.Print ("ErNo = -1 該当データ無し指定されたパラメータに合致する新しいデータがサーバーに存在しない。又は、最新バージョンが公開され、ユーザーが最新バージョンのダウンロードを選択しました。")
If ErNo = -2 Then Debug.Print ("セットアップダイアログでキャンセルが押されたセットアップ用データの取り込み時にユーザーがダイアログでキャンセルを押ました。JVCloseを呼び出して取り込み処理を終了してください")
If ErNo = -111 Then Debug.Print ("dataspecパラメータが不正パラメータの渡し方かパラメータの内容に問題があると思われます。サンプルプログラム等を照し、正しくパラメータがJV-Linkに渡っているか確認してください。")
If ErNo = -112 Then Debug.Print ("fromtimeパラメータが不正(読み出し開始ポイント時刻不正)")
If ErNo = -113 Then Debug.Print ("fromtimeパラメータが不正(読み出し終了ポイント時刻不正)")
If ErNo = -114 Then Debug.Print ("keyパラメータが不正同上")
If ErNo = -115 Then Debug.Print ("optionパラメータが不正同上")
If ErNo = -116 Then Debug.Print ("dataspecとoptionの組み合わせが不正同上")
If ErNo = -201 Then Debug.Print ("JVInitが行なわれていないJVOpen/JVRTOpenに先立ってJVInitが呼ばれていないと思われます。必ずJVInitを先に呼び出してください。")
If ErNo = -202 Then Debug.Print ("ErNo = -202 前回のJVOpen/JVRTOpenに対してJVCloseが呼ばれていない(オープン中)前回呼び出したJVOpen/JVRTOpenがJVCloseによってクローズされていないと思われます。JVOpen/JVRTOpenを呼び出した後は次に呼び出すまでの間にJVCloseを必ず呼び出してください。")
If ErNo = -203 Then Debug.Print ("JVOpenが行なわれていないJVStatusに先立ってJVOpenが呼ばれていないと思われます。必ずJVOpenを先に呼び出してください。")
If ErNo = -211 Then Debug.Print ("レジストリ内容が不正(レジストリ内容が不正に変更された)JV-Linkはレジストリに値をセットする際に値のチェックを行います(例えばサービスキーの桁数など)が、レジストリから値を読み出して使用する際に問題が発生するとこのエラーが発生します。レジストリが直接書き換えられたなどの状況が考えられない場合にはJRA-VANへご連絡ください。")
If ErNo = -301 Then Debug.Print ("認証エラーサービスキーが正しくない。あるいは複数のマシンで同一サービスキーを使用した場合に発生します。複数のマシンで同じサービスキーをしようした場合には、このエラーが発生したマシンのJV-Linkをアンインストールし、再インストール後、利用キーの再発行が必要となります。")
If ErNo = -302 Then Debug.Print ("サービスキーの有効期限切れData Lab.サービスの有効期限が切れています。サービス権の自動延長が停止していると思われます。解消するにはサービス権の再購入が必要です。現在ソフト作者様に配布しているサービスキーではこのエラーは発生しません。")
If ErNo = -303 Then Debug.Print ("サービスキーが設定されていない(サービスキーが空値)サービスキーを設定していないと思われます。JVLinkインストール直後はサービスキーが空なので必ず設定する必要があります。JV-Linkインターフェース仕様書29")
If ErNo = -305 Then Debug.Print ("利用規約に同意していない")
If ErNo = -401 Then Debug.Print ("JV-Link内部エラーJV-Link内部でエラーが発生したと思われます。JRAVANへご連絡ください。")
If ErNo = -402 Then Debug.Print ("ダウンロードしたファイルが異常(ファイルサイズ=0)")
If ErNo = -403 Then Debug.Print ("ダウンロードしたファイルが異常(データ内容)")
If ErNo = -411 Then Debug.Print (" サーバーエラー( HTTP ステータス404NotFount)レジストリが直接変更されたか、Data Lab.用サーバーに問題が発生したと思われます。JRA-VANのメンテナンス中でない場合で、このエラーが続く場合はJRA-VANへご連絡ください。")
If ErNo = -412 Then Debug.Print ("サーバーエラー( HTTP ステータス403Forbidden)Data Lab.用サーバーに問題が発生したと思われます。このエラーが続く場合はJRA-VANへご連絡ください。")
If ErNo = -413 Then Debug.Print (" サーバーエラー(HTTPステータス200,403,404以外)同上")
If ErNo = -421 Then Debug.Print ("サーバーエラー(サーバーの応答が不正) 同上")
If ErNo = -431 Then Debug.Print ("サーバーエラー(サーバーアプリケーション内部エラー)同上")
If ErNo = -501 Then Debug.Print ("セットアップ処理においてCD-ROMが無効JRA-VANが提供した正しいCD-ROMをセットしていないと思われます。正しいCD-ROMをセットしてください。")
If ErNo = -502 Then Debug.Print ("ダウンロード失敗(通信エラーやディスクエラーなど)ダウンロード処理に失敗しました。エラーの原因を除去しないかぎり解決しないと思われます。原因を除去できたらJVCloseを呼び出し、JVOpenからの処理をやりなおしてください。サーバーが混雑している場合のタイムアウトでもこの戻り値が返されることがあります。JV-Linkインターフェース仕様書30")
If ErNo = -503 Then Debug.Print ("ファイルが見つからない")
If ErNo = -504 Then Debug.Print ("サーバーメンテナンス中サーバーがメンテナンス中です。JVStatus戻り値意味原因と対処0以上正常(ダウンロード済みファイル数)")
If ErNo = -999 Then Debug.Print ("Myエラー タイムオーバー終 Fn&jvjo&RNo=" & MyDay & JvJo & RNo)
問題発生
ラボEND
End Sub

ターゲットの設定はこちらをどうぞ
エクセルで競馬プログラム
ここまでで出馬表タイマーで自動予想出来ます
※まだ投票・メールは使えません
お疲れ様でした😎
いいなと思ったら応援しよう!
応援あれば、とっても嬉しいです😁