スマフォ用サイト


スマフォ用サイトのQRコード

このページを共有


7月のカレンダー



1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリ一覧

ただの日記(965)
原付生活(3)
子育て日記(11)
PC関連(11)
もろもろ日記(908)

競馬+POG(1596)
当たらない予想と反省会(707)
POGネタ(58)
競馬について考える(19)
競馬もろもろ(219)
ダービーウィーク!(14)
2011年競馬場訪問記(27)
2012年競馬場訪問記(53)
2013年競馬場訪問記(61)
2014年競馬場訪問記(40)
2015年競馬場訪問記(44)
2016年競馬場訪問記(25)
2017年競馬場訪問記(36)
2018年競馬場訪問記(39)
2019年競馬場訪問記(34)
2020年競馬場訪問記(24)
2021年競馬場訪問記(37)
2022年競馬場訪問記(51)
2023年競馬場訪問記(70)
2024年競馬場訪問記(23)
地方競馬馬主(5)
ひとくち馬主(3)

ホームページ製作(366)
PHPの備忘録(13)
CSSの備忘録(5)
JavaScriptの備忘録(2)
ホームページもろもろ(287)
Flashの備忘録(12)
管理人の備忘録(21)
スマフォ用サイト作成(19)

自宅サーバ(360)
FreeBSD(17)
Apache(4)
PHP(5)
MySQL(17)
サーバもろもろ(145)
障害連絡(131)
リニューアルプロジェクト 2011-2012(41)

お仕事(48)
お仕事(48)

旅の記録・水曜どうでしょう関連(43)
水曜どうでしょう(11)
2009年四国お遍路(6)
2009年アンコールワット(5)
2010年ベトナム(3)
2010年いっそ九州(5)
2010年北海道179市町村(5)
2011年春の一人旅(2)
2011年四国お遍路(6)


先月までのネタ

2024年
2024年4月(4)
2024年3月(7)
2024年2月(8)
2024年1月(13)

2023年
2023年12月(11)
2023年11月(8)
2023年10月(10)
2023年9月(7)
2023年8月(9)
2023年7月(10)
2023年6月(6)
2023年5月(10)
2023年4月(5)
2023年3月(4)
2023年2月(6)
2023年1月(6)

2022年
2022年12月(9)
2022年11月(8)
2022年10月(5)
2022年9月(5)
2022年8月(2)
2022年7月(6)
2022年6月(9)
2022年5月(3)
2022年4月(3)
2022年3月(4)
2022年2月(7)
2022年1月(5)

2021年
2021年12月(8)
2021年11月(9)
2021年10月(4)
2021年9月(3)
2021年8月(2)
2021年7月(6)
2021年6月(12)
2021年5月(2)
2021年4月(8)
2021年3月(2)
2021年2月(7)
2021年1月(2)

2020年
2020年12月(8)
2020年11月(3)
2020年10月(4)
2020年9月(1)
2020年8月(2)
2020年7月(7)
2020年6月(6)
2020年5月(9)
2020年4月(11)
2020年3月(8)
2020年2月(5)
2020年1月(9)

2019年
2019年12月(4)
2019年11月(5)
2019年10月(7)
2019年9月(2)
2019年8月(2)
2019年7月(8)
2019年6月(2)
2019年5月(3)
2019年4月(2)
2019年3月(4)
2019年2月(3)
2019年1月(1)

2018年
2018年12月(8)
2018年11月(5)
2018年10月(10)
2018年9月(6)
2018年8月(1)
2018年7月(7)
2018年6月(5)
2018年5月(7)
2018年4月(19)
2018年3月(3)
2018年2月(3)
2018年1月(11)

2017年
2017年12月(14)
2017年11月(11)
2017年10月(18)
2017年9月(18)
2017年8月(21)
2017年7月(29)
2017年6月(26)
2017年5月(23)
2017年4月(18)
2017年3月(11)
2017年2月(11)
2017年1月(16)

2016年
2016年12月(25)
2016年11月(24)
2016年10月(30)
2016年9月(15)
2016年8月(16)
2016年7月(15)
2016年6月(18)
2016年5月(30)
2016年4月(28)
2016年3月(29)
2016年2月(26)
2016年1月(32)

2015年
2015年12月(30)
2015年11月(29)
2015年10月(30)
2015年9月(27)
2015年8月(28)
2015年7月(28)
2015年6月(28)
2015年5月(29)
2015年4月(30)
2015年3月(28)
2015年2月(26)
2015年1月(29)

2014年
2014年12月(31)
2014年11月(28)
2014年10月(31)
2014年9月(29)
2014年8月(29)
2014年7月(31)
2014年6月(31)
2014年5月(30)
2014年4月(30)
2014年3月(28)
2014年2月(27)
2014年1月(31)

2013年
2013年12月(29)
2013年11月(27)
2013年10月(29)
2013年9月(27)
2013年8月(28)
2013年7月(28)
2013年6月(29)
2013年5月(29)
2013年4月(30)
2013年3月(26)
2013年2月(24)
2013年1月(29)

2012年
2012年12月(28)
2012年11月(27)
2012年10月(28)
2012年9月(30)
2012年8月(31)
2012年7月(33)
2012年6月(32)
2012年5月(33)
2012年4月(35)
2012年3月(30)
2012年2月(27)
2012年1月(31)

2011年
2011年12月(25)
2011年11月(25)
2011年10月(28)
2011年9月(28)
2011年8月(28)
2011年7月(28)
2011年6月(27)
2011年5月(26)
2011年4月(16)
2011年3月(9)
2011年2月(11)
2011年1月(9)

2010年
2010年12月(12)
2010年11月(11)
2010年10月(8)
2010年9月(13)
2010年8月(10)
2010年7月(20)
2010年6月(6)
2010年5月(9)
2010年4月(2)
2010年3月(3)
2010年2月(5)
2010年1月(8)

2009年
2009年12月(9)
2009年11月(2)
2009年10月(4)
2009年9月(3)
2009年8月(1)
2009年7月(9)
2009年6月(3)
2009年5月(14)
2009年4月(10)
2009年3月(11)
2009年2月(9)
2009年1月(10)

2008年
2008年12月(1)
2008年11月(1)
2008年10月(1)
2008年9月(5)
2008年8月(1)
2008年7月(1)
2008年6月(2)
2008年5月(1)
2008年4月(1)
2008年3月(2)
2008年2月(7)
2008年1月(7)

2007年
2007年12月(11)
2007年11月(7)
2007年10月(8)
2007年9月(12)
2007年8月(11)
2007年7月(5)
2007年6月(16)
2007年5月(8)
2007年4月(2)
2007年3月(14)
2007年2月(2)
2007年1月(8)

2006年
2006年12月(4)
2006年11月(6)
2006年10月(7)
2006年9月(10)
2006年8月(9)
2006年7月(20)
2006年6月(13)
2006年5月(3)

2005年
2005年9月(13)
2005年8月(13)
2005年7月(18)
2005年6月(24)
2005年5月(26)
2005年4月(26)
2005年3月(27)
2005年2月(22)
2005年1月(26)

2004年
2004年12月(29)
2004年11月(29)
2004年10月(26)
2004年9月(23)
2004年8月(12)


最近よく読まれてるネタ



Excel VBAで「SPAT4自動投票システム」を作ってみました。
(2020年7月19日のネタ:55回)

本日は皐月賞 の観戦に中山競馬場 へ行ってきました。
(2024年4月14日のネタ:41回)

(簡単に) 昨日は大井競馬場 へ行ってきました。
(2024年4月13日のネタ:39回)

管理人の当たらないG1予想!皐月賞編!
(2012年4月14日のネタ:25回)

昨日はフローラステークス の観戦に、東京競馬場 へ行ってきました。
(2024年4月22日のネタ:24回)

【追悼】名古屋競馬場のヤギ、チップ。
(2024年2月4日のネタ:24回)

今夜は競馬の話題を書こうと思ったんですが…。
(2014年3月13日のネタ:23回)

明日はダートの祭典・JBC!管理人の当たらない予想!(連続現地観戦は4年でストップ)
(2015年11月2日のネタ:22回)

「岬めぐり」…はぁ?(管理人の本職とプライベートの話。)
(2014年5月16日のネタ:22回)

…来週から、週末予想のタイトルが変わります(…今年初?の祝勝会。)
(2012年5月13日のネタ:21回)



最近のコメント



今日は改修工事真っ只中の #京都競馬場 (パークウインズ京都競馬場)へ行ってきました。(チョネ)

本日は笠松競馬場へ行ってきました。(あいべ)

管理人の今年の目標が一つ増えました…。(あああ)

まあそんなに書くことはありませんが…。(momo)

【管理人からご挨拶】 『The Sunday Breeze』は5月25日に開設19周年を迎えます。(アオヤギ)

4月からスタートする「Sunday Breeze POG!」の一部ルール追加について。(アオヤギ)

昨日「Sunday Breeze賞」の観戦に帯広競馬場へ行ってきました。(白イチゴ)

本日5月25日、「The Sunday Breeze」は18回目の誕生日を迎えました。(アオヤギ)

【「G1予想大会」プレリリース終了】皆様のご協力、本当にありがとうございました。(アオヤギ)

【再度お知らせとお願い】今週からの「G1予想大会」、新機能プレリリースを公開中です。(白イチゴ)



ネタの検索



管理人の競馬観戦記録


(2024年)

JRA東京競馬場
4月21日 (フローラS)

JRA中山競馬場
1月6日 (中山金杯)
1月14日 (京成杯)
3月2日 (オーシャンS)
4月7日
4月14日 (皐月賞)

JRA阪神競馬場
3月23日 (毎日杯)

JRA小倉競馬場
1月27日

水沢競馬場
3月10日 (奥州弥生賞)

船橋競馬場
1月17日 (ブルーバードC)
1月19日
2月9日
3月5日

大井競馬場
4月12日

川崎競馬場
1月5日
3月11日

笠松競馬場
1月25日

名古屋競馬場
1月19日

園田競馬場
3月22日

姫路競馬場
1月26日

高知競馬場
2月25日 (レジーナディンヴェルノ賞)

佐賀競馬場
1月28日

2012年以降の競馬観戦インデックス


管理人の競馬家計簿


(最近14日分)

2024年4月11日船橋
10勝  回収率:0.0%

2024年4月11日名古屋
10勝  回収率:0.0%

2024年4月12日船橋
22勝  回収率:150.6%

2024年4月12日大井
50勝  回収率:0.0%

2024年4月14日福島
10勝  回収率:0.0%

2024年4月14日中山
61勝  回収率:55.0%

2024年4月14日阪神
11勝  回収率:216.0%

2024年4月17日門別
11勝  回収率:150.0%

2024年4月18日浦和
10勝  回収率:0.0%

2024年4月18日門別
10勝  回収率:0.0%

2024年4月20日福島
20勝  回収率:0.0%

2024年4月20日東京
10勝  回収率:0.0%

2024年4月20日京都
20勝  回収率:0.0%

2024年4月21日東京
41勝  回収率:21.8%

2024年4月21日京都
21勝  回収率:295.7%

2024年4月24日大井
10勝  回収率:0.0%

2024年合計
43092
勝率:21.4%  回収率:64.9%
(万馬券:5本的中)

2023年合計
1772537
勝率:30.3% 回収率:71.2%
(万馬券:11本的中)

2022年合計
2097563
勝率:26.8% 回収率:66.4%
(万馬券:29本的中)

2021年合計
2147527
勝率:24.5% 回収率:67.8%
(万馬券:24本的中)

2020年合計
3046684
勝率:22.5% 回収率:65.2%
(万馬券:39本的中)

2019年合計
1438346
勝率:24.1% 回収率:68.2%
(万馬券:39本的中)

2018年合計
1488367
勝率:24.7% 回収率:75.1%
(万馬券:39本的中)


管理人のつぶやき


(皆様のフォローをお願いします。)

@sunday_breeze からのツイート
2020年7月のネタは全部で7件あります。

5か月ぶりの競馬場での競馬観戦!昨日は帯広競馬場へ行ってきました。

久しぶりの競馬観戦に
だいぶテンション上がって熱くなってしまいました。

昨日、帯広競馬場へ行ってきました。


帯広競馬場は昨年11月以来の8か月半ぶり、
そもそも競馬場での競馬観戦が2月以来の5か月ぶり。

帯広だからなのかもしれませんが
いわゆる「密」になっている場所もなく、ツアー客もいないし、馬券の購入も並ぶことなく。
曇り空の下ではありましたが、雨に降られることもなく快適な競馬観戦でした。


そして相変わらず迫力のあるレース。
やっぱりテレビやネット中継で見るのとは違うなぁ。
馬券は相変わらず当たらないけど。


-----

さて。
今は帯広市内に滞在中。

これから日高方面へ向かいます。
牧場を何か所か見学して、今夜は札幌泊予定です。

[コメント読む(0)]  人気ブログランキングへ 

さんざん悩みましたが……明日から3日間、北海道へ行ってきます。

前々回のブログネタでしたか。

「東京の隣県だという理由だけで拒否反応されるのはイヤ」
と書きました。

どこに行っても
関東から来たってだけで、すっごいイヤな顔されるんだろうな…と。


はい。
もうそんなことは言っていられません。

明日から3日間、北海道へ行きます。


明日は昼前に新千歳空港に着いたら
レンタカーを借りて、帯広競馬場へ向かいます。
たぶん16時とか17時くらいには競馬場に着くと思います。

約5か月半ぶりに競馬場に行きます!
誰が何と言おうと行きます!
文句のコメントが来ても抹殺します!


明後日火曜日は帯広から日高の牧場をいくつか回って
札幌に泊まります。
夜は札幌のAiba(ホッカイドウ競馬の場外発売所)に行って
ブリーダーズゴールドジュニアカップを観戦します。


水曜日は夕方には自宅に戻る予定です。


もう知らん知らん。
文句あるなら言うだけ言え。
オレは競馬場へ行くんだ。

[コメント読む(0)]  人気ブログランキングへ 

Excel VBAで「SPAT4自動投票システム」を作ってみました。

最初に書いておきます。

・このプログラムで何か問題が起きても、管理人は責任を負いません
 馬券購入についても当然ですが各個人の問題です。文句言わないでください。

・ある程度の知識がある方を前提にしています。
 プログラムの内容についての質問等にはあまり答える気はありません
 わからないことがあれば、各個人でググって調べてください。

・自由に改変とかしてください。これで商売されるのも勝手にやってください。
 ただ何の責任もとりません
 ブログなどで紹介するなら『「The Sunday Breeze」のやつを参考にした』程度でも
 ひとこと書いてもらえると嬉しいです。強制ではないです。

-----

さて。
JRAのインターネット投票システム「iPAT」には
自動で投票済ませてくれるプログラムがあるんですが
地方競馬用の投票システム(SPAT4、オッズパーク、楽天競馬)には
ネットを探す限り、自動で投票してくれるシステムはないようです。

ということで、今回簡単ではありますが
管理人が長く使っている「SPAT4」で自動投票してくれるプログラムを組みました。

---

基本的な動作と前提条件

・管理人はVBで作っていますが、単独exeで動くかOfficeベースで動くかの違いなので
 ExcelのVBAでも動作すると思います。Excelのバージョンによっては使えません。
 もしかしたらVB.netでも使えるのかな?(未確認)

InternetExplorerを使います。Windows10ではオプションでインストールできます。

・当たり前ですが、予想はしません
 予想(買い目)をフォーマットに従ってテキストファイルに書いておくことが前提です。

・公開するソースは「3連複」「3連単」「ワイド」の「フォーメーション」のみを対応としていますが
 ほかの券種や買い方も簡単に追加できると思います。
 必要な方はご自由に直してください。

・事前にSPAT4への入金はしておいてください(残高不足で投票できないだけですが)

---

こういう予想ファイルを作りましょう。
コース名、レース番号、券種、馬1(ハイフンでつなげる)、馬2、馬3、1点当たりの金額(100円単位)をカンマ区切りで。
同じ形式で複数行記入できます。違う競馬場でも違うレースでも違う券種でも、いっぺんに投票できます。

高知,12,三連複,05,03-06-09,01-02-03-07-09-10-11-12,1
帯広,9,ワイド,05,03-06-09,,2


この場合、1行目は
高知12レースの3連複で
馬1(1列目)が5、馬2(2列目)が3,6,9、馬3(3列目)が1,2,3,7,9,10,11,12で
各100円ずつの購入。

2行目は帯広9レースのワイドの場合
馬1(1列目)に5、馬2(2列目)に3,6,9
馬3がないので、値を入れずにカンマが続くように書きます。
この場合は各200円ずつ(計600円ですかね)

---

最初にInternetExplorerをVBAの中で使える設定をしましょう。

メニューの[ツール]から[参照設定]を開いて
・Microsoft HTML Object Library
・Microsoft Internet Controls
を探してチェックを入れましょう。



それと、ソースの一番最初に次のように書いておきましょう。
Windowsで提供されている標準の関数を使う準備です。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hwndParent As Long, ByVal hwndChildAfter As Long, ByVal lpszClass As String, ByVal lpszWindow As String) As Long
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const WM_COMMAND As Long = &H111&


---

ではプログラムをぶつ切りで書いていきます。
最終的につなげれば、動くはずです。


まずは予想ファイルを読み込みます。
「c:\temp」に「votedata_なんとか.csv」という名前で保存している例です。
複数ファイルがあってもいいように、ループさせます。

strPath = "c:\temp\"
strFile = Dir$(strPath & "votedata_*.csv")

Do While strFile <> "" ’ ここからループ1(ファイルがあるだけループ)
 fileNo = FreeFile
 Open strPath & strFile For Input As #fileNo



InternetExplorerを開きます。

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.navigate "https://www.spat4.jp/keiba/pc"


ページが完全に表示されるまで待機。

Do While objIE.Busy = True Or objIE.readyState <> 4
 DoEvents
Loop





ここで、HTMLのソースを見ればわかりますが
ログインフォーム全体が「LOGIN」
加入者番号は「MEMBERNUMR」、利用者IDは「MEMBERIDR」と名前がついています。
それぞれ値を入れて、ログインボタンを押しましょう。

objIE.document.LOGIN.MEMBERNUMR.Value = "01234567"
objIE.document.LOGIN.MEMBERIDR.Value = "12345678"
objIE.document.LOGIN.submit


ページが完全に表示されるまで待機。

Do While objIE.Busy = True Or objIE.readyState <> 4
 DoEvents
Loop
sleep 2000 ’ 念のため2秒待機





ボタンが並んでいる中から、「投票入力」と書かれているボタンを選んでクリックします。

For Each objTag In objIE.document.getElementsByTagName("input")
 If InStr(objTag.outerHTML, "投票入力") > 0 Then
  objTag.Click
  Exit For
 End If
Next


ページが完全に表示されるまで待機。

Do While objIE.Busy = True Or objIE.readyState <> 4
 DoEvents
Loop
sleep 2000 ’ 念のため2秒待機





このページはフレーム構成になっていて
上の黄色が0、赤が左から1,2,3、下の黄色が4
使うのは1,2,3ですかね。

フレームを分割します。

Set objFrame = objIE.document.frames


最後の金額入力の準備だけしたら
予想ファイルから1行ずつ見ていきますかね。

Dim Kingaku As Integer
Kingaku = 0
Do While Not EOF(fileNo) ’ ここからループ2(ファイルの行があるだけループ)
 Line Input #fileNo, buf
 strFileData = Split(buf, ",")



フレーム1(左の赤)を見ていきます。
それぞれこういう名前がついています(HTMLにこう書かれています)



まずは「PLACE」というセレクトボックス(コンボボックス)を探して
予想ファイルの1項目目(0)と一致する場名を選択します。
選択したら、JavaScriptのonChangeイベントを実行。
onChangeを実行しないと、レース番号が出てきません。

For Each slt In objFrame(1).document.getElementsByTagName("select")
 If slt.Name = "PLACE" Then
  For Each opt In slt.getElementsByTagName("option")
   If opt.Text = strFileData(0) Then
    opt.Selected = True
    slt.onchange
    Exit For
   End If
  Next
 End If
Next


同じ要領で、次はレース番号。予想ファイルの2項目目(1)

For Each slt In objFrame(1).document.getElementsByTagName("select")
 If slt.Name = "RACE" Then
  For Each opt In slt.getElementsByTagName("option")
   If opt.Text = strFileData(1) Then
    opt.Selected = True
    slt.onchange
    Exit For
   End If
  Next
 End If
Next


続いて式別。予想ファイルの3項目目(2)

For Each slt In objFrame(1).document.getElementsByTagName("select")
 If slt.Name = "SHIKI" Then
  For Each opt In slt.getElementsByTagName("option")
   If opt.Text = strFileData(2) Then
    opt.Selected = True
    slt.onchange
    Exit For
   End If
  Next
 End If
Next


投票方式はフォーメーション固定にしてます。
流しとか追加するなら、同じ要領でできますね。

For Each slt In objFrame(1).document.getElementsByTagName("select")
 If slt.Name = "HOUSHIKI" Then
  For Each opt In slt.getElementsByTagName("option")
   If opt.Text = "フォーメーション" Then
    opt.Selected = True
    slt.onchange
    Exit For
   End If
  Next
 End If
Next


金額は予想ファイルの7項目目(6)
「KINGAKU」という名前のテキストボックスに値をぶち込むだけです。

txtKin = objFrame(1).document.getElementsByName("KINGAKU")
txtKin.Value = strFileData(6)

sleep 1000 ’ 1秒待機



ここまでいくと、フレーム2(真ん中の赤)に頭数分のチェックボックスが出てきます。



ここでは
列は馬1「C1」、馬2「C2」、馬3「C3」
んで
行は馬番マイナス1の番号が名前になっています。

馬1の5番なら「C1の4」
馬2の3番と6番と9番なら「C2の2、C2の5、C2の8」
にそれぞれチェックを入れるだけです。

予想ファイルの4項目目(3)をハイフンで分割して、C1の馬番マイナス1にチェック

splittedResult = Split(strFileData(3), "-")
For Each output In splittedResult
 objFrame(2).document.getElementsByName("C1")(output - 1).Checked = True
Next


馬2も同じ。予想ファイルの5項目目(4)をC2列へ。

splittedResult = Split(strFileData(4), "-")
For Each output In splittedResult
 objFrame(2).document.getElementsByName("C2")(output - 1).Checked = True
Next


馬3も同じ。ただ馬連馬単ワイドの場合は、この処理を飛ばすように書いたほうがいいです。

splittedResult = Split(strFileData(5), "-")
For Each output In splittedResult
 objFrame(2).document.getElementsByName("C3")(output - 1).Checked = True
Next



ここまで来たら、
チェックボックスをクリックしたときに動くJavaScriptを呼びます。
馬1の馬番1をクリックしたテイで。(実際にチェックはしません)
このonClickを動かさないと、組数(AMOUNT)が計算されないのです。

objFrame(2).document.getElementsByName("C1")(0).onclick


これで組数が表示されるので、その数字×金額(合計金額)を控えておきましょう。

txtAmount = objFrame(2).document.getElementsByName("AMOUNT")
Kingaku = Kingaku + txtAmount.Value * strFileData(6)



んで、フレーム1(左)の「入力決定」ボタンを探して押します。

For Each objTag In objFrame(1).document.getElementsByTagName("input")
 If InStr(objTag.outerHTML, "入力決定") > 0 Then
  objTag.Click
  Exit For
 End If
Next


んで次の行の処理へ。ループ2(ファイルの行があるだけループ)を繰り返します。

Sleep 2000 ’ 念のため2秒待機
Loop ’ ループ2の戻り



すべての行の入力を終えたら、
フレーム3(右)の「投票内容確認へ」のボタンを探して押します。

ただ、このボタンを押すとき
普通に押すと制御が利かなくなりますので(このあとダイアログが出てくるので)
非同期で押すようにしましょう。

非同期でボタンを押したら、ちょっと時間を空けて(2秒)
ダイアログ(「Web ページからのメッセージ」)のウインドウを探してOKボタンを押してあげます。

btnIdx = 0
For Each objTag In objFrame(3).document.getElementsByTagName("input")
 If InStr(objTag.outerHTML, "投票内容確認へ") > 0 Then
  objFrame(3).document.Script.setTimeout "javascript:document.getElementsByTagName(""input"")(" & CStr(btnIdx) & ").click()", 10
  Sleep 2000
  hwindow = FindWindow("#32770", "Web ページからのメッセージ")
  PostMessage hwindow, WM_COMMAND, vbOK, 0&
  Exit For
 End If
 btnIdx = btnIdx + 1
Next


ページが完全に表示されるまで待機。

Do While objIE.Busy = True Or objIE.readyState <> 4
 DoEvents
Loop
sleep 2000 ’ 念のため2秒待機




これまでと同じやり方ですね。
暗証番号は「MEMBERPASSR」、投票金額は「TOTALMONEYR」という名前になっていますので
それぞれ入れて、「投票する」ボタンを探して押します。
この時も先ほど同様、非同期でボタンを押して、ダイアログのOKボタンまで押しましょう。

objIE.document.BET_CHECK.MEMBERPASSR.Value = "0000"
objIE.document.BET_CHECK.TOTALMONEYR.Value = CStr(Kingaku * 100)

btnIdx = 0
For Each objTag In objIE.document.getElementsByTagName("input")
 If InStr(objTag.outerHTML, "投票する") > 0 Then
  objIE.document.Script.setTimeout "javascript:document.getElementsByTagName(""input"")(" & CStr(btnIdx) & ").click()", 10
  Sleep 2000
  hwindow = FindWindow("#32770", "Web ページからのメッセージ")
  PostMessage hwindow, WM_COMMAND, vbOK, 0&
  Exit For
 End If
 btnIdx = btnIdx + 1
Next


ページが完全に表示されるまで待機。

Do While objIE.Busy = True Or objIE.readyState <> 4
 DoEvents
Loop
sleep 2000 ’ 念のため2秒待機



これで投票完了です。
InternetExplorerを閉じて、次のファイルを開く準備をして
ループ1(ファイルがあるだけループ)を繰り返します。

objIE.Quit
Set objIE = Nothing
strFile = Dir$

Loop ’ ループ1の戻り



これで終了です。

---

今回作ったのは予想ファイルを使って読み込んで投票する仕組みですが
Excelのセルを読み込んで投票する仕組みも簡単にできると思います。

適当に直して使ってください。


どっちにしても大事なのは
「予想するロジック」(今回でいう「予想ファイルの作り方」)だと思いますので。


[コメント読む(0)]  人気ブログランキングへ 

明日盛岡競馬場へ行こうと思っていましたが…東京の隣県在住という理由だけであきらめました。

先週末の時点で
「盛岡競馬が入場再開したから行こう!」
と考えていたんですが…


1週間で状況がだいぶ変わりました。


なにが不安かって

新幹線とか乗り物系は多分大丈夫だと思っています。
んで盛岡くらいなら日帰りなので、夜の街に行くこともありません。

現地に行って「関東から来るな」と言われることにおびえています。


管理人は千葉県在住で千葉で仕事をしています。
家は東京から距離は離れていません(15キロも行けば都内です)が、
東京都内にはしばらく行っていません。

それでもただただ東京の隣県というだけで
拒否反応があるのであれば、行きたくても行けません。

それだけの理由で明日はあきらめました。


再来週、北海道への遠征計画もありますが
今のところまだ流動的です。

関東、特に東京や隣県に対しての拒否反応が大きいならば
しばらく行くことはできないと思っています。


逆の立場だったらどう考えるでしょうかね。

管理人個人的には
あまり感染が多いような場所(いわゆる夜の街とか)にはいかないので
「来るなら勝手に来れば」と思いますが…

それでもこのコロナ禍の中で「過剰反応」している人が多くいることは確か。
その「過剰反応」な人に触れ合わなければ大丈夫なんですが…。



なんとなく
そういう精神的に変なダメージを受けるようなところへ
自ら足を運ぶ気にはなりません。

自分がいくら感染していないことがわかっていても
同じ地域(かなり広範囲)から来た、というだけでひとくくりにされることは
なんかそれ違うだろ!と思いますが…



今週末はおとなしく
自宅で様子を見ようと思います。

[コメント読む(0)]  人気ブログランキングへ 

SPAT4の投票履歴一覧取得プログラムを作ってみました。

管理人はもう14〜5年くらい前から
南関東とホッカイドウ競馬のインターネット投票システム「SPAT4」を使っています。

なんどかリニューアルされて今の形になっていますが、
自分の勝った馬券の一覧が表示できないのがなんとも。
(受付番号の一覧は見られるけど)

ということで
今日は即席で作ってみました。

明日か明後日にでもソースを公開します。
いろいろ条件はありますが、
基本的にはWin10でExcelマクロが使えれば動くと思います。


[コメント読む(0)]  人気ブログランキングへ