【検証】<VBA自動投票>地方競馬

【45歳から】始めたいExcelVBA競馬自動投票<ログイン>

(楽天)地方競馬情報サイトへのログインを自動化します

何か準備しておくものはありますか?

「楽天競馬」への会員登録&IE(Internet Explorer)の確認を済ませてください

事前に準備するものは次の2点です。

①「楽天競馬」への会員登録
地方競馬のレース情報を取得するために、「楽天競馬」への会員登録を済ませてください。


②IE(Internet Explorer)の確認
PCにIE(Internet Explorer)がインストールされていることを確認してください。

何かExcelで準備しておくものはありますか?
何かExcelで準備しておくものはありますか?

マクロ有効ブック&開発タブ&ログイン情報

Excelでの準備は次の3つです。

1マクロ有効ブックの新規作成
・Excelを立ち上げ、[新規][空白のブック]を選択します。
・[ファイル][名前を付けて保存]を選択し、[ファイルの種類]で[Excelマクロ有効ブック(*.xlsm)]を選択して保存します。
 [ファイル名]は任意です。
(推奨:rakuten_keiba.xlsm)
2開発タブの表示確認
・Excelファイルを開いた時、上部のタブの中に「開発」が表示されていることを確認します。
・表示されていない場合は、次の手順で表示されます。
([ファイル][その他][オプション]を選択し、[リボンのユーザー設定] で [開発]のチェック ボックスをオンにします)
3

(楽天競馬サイトへの)ログイン情報の設定
・ワークシートの名前を「Parameter」に変更してください。
・Excelシートに次のように「楽天競馬」サイトへのログイン情報を設定しておきます。
<ID>あなたの「楽天競馬」サイトのログイン・ユーザID
<PASS>あなたの「楽天競馬」サイトのログイン・パスワード
<URL>https://keiba.rakuten.co.jp/

・各「設定値」(ExcelのC列)には名前を定義してください。
 この場合、セルC3には「ID」、セルC4には「PASS」、セルC5には「URL」と名前を定義します。
 (名前の定義の仕方は、該当セルを選択し、[数式][名前の定義]で名前を入力します)。

 

どうすれば「楽天競馬」サイトへ自動ログインできますか?
どうすれば「楽天競馬」サイトへ自動ログインできますか?

自動ログインVBAマクロを作成します

「楽天競馬」サイトへ自動ログインするには次の設定を行ってください。

1自動ログインマクロ実行ボタンの設置
Excelシートに次のように「ボタン」を設置し、自動ログインマクロを作成します。

・[開発][挿入][フォームコントロール]の中から[ボタン(フォームコントロール)]を選択し、シートに貼り付けます。

2マクロの作成
・「マクロの登録」ダイアグラムで[新規作成]ボタンをクリックします。
・「マクロ名」を「rakuten_login_Click」にします。
・(下段の)「★自動ログインマクロ」のすべてコピーし、すべてを(上書き)貼り付けます。
 ダイアグラムを閉じます(右上×をクリックします)。
3ボタンの名前変更
・ボタンが設置されます。名前をログインに変更します。

★自動ログインマクロ

(上段の)「2.マクロの作成」で、次のVBAマクロをすべてコピーしすべてを貼り付けて使用してください。

Declare PtrSafe Sub Sleep Lib “kernel32” (ByVal dwMilliseconds As Long)

Sub rakuten_login_Click()
‘==================================================
‘rakuten競馬ログイン
‘==================================================

Dim id As String
Dim pass As String
Dim url As String

‘ID/PASS/URL取得
With Worksheets(“Parameter”)
id = .Range(“id”).Value ‘ID
pass = .Range(“pass”).Value ‘PASS
url = .Range(“url”).Value ‘URL
End With

‘ie起動
Set objIE = CreateObject(“InternetExplorer.Application”)

‘Rakuten競馬
With objIE
.Visible = True
.navigate url
‘インターバル
Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop
End With

‘マイページクリック
For Each objinp In objIE.document.getElementsByTagName(“a”)
If Mid(objinp.textContent, 26, 5) = “マイページ” Then
objinp.Click
Exit For
End If
Next

‘インターバル
Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop

‘楽天会員ログイン
‘ID入力
For Each objinp In objIE.document.getElementsByTagName(“Input”)
If objinp.Name = “u” Then
objinp.Value = id
Exit For
End If
Next
Sleep (1000)

‘PASS入力
For Each objinp In objIE.document.getElementsByTagName(“Input”)
If objinp.Name = “p” Then
objinp.Value = pass
Exit For
End If
Next
Sleep (1000)

‘ログイン
For Each objinp In objIE.document.getElementsByTagName(“Input”)

If objinp.Name = “submit” Then
objinp.Click
Exit For
End If
Next

‘インターバル
Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop
Sleep (1000)

End Sub

「楽天競馬」のマイページが自動表示されました!
実行すると「楽天競馬」のマイページが自動表示されます。

「楽天競馬」の「マイページ」が自動表示されます

「楽天競馬」にログインし、あなたの「マイページ」が自動表示されます。

「楽天競馬」の「マイページ」が自動表示されます

私でもできた!次のステップへ進もう!
次のステップは何ですか?

次回はレース情報を取得するVBAマクロを紹介します

次回、レース情報を取得するVBAマクロを紹介します。

これでOK!
次回は、「【45歳から】始めたいExcelVBA競馬自動投票<レース情報>」でレース情報を取得するVBAマクロを紹介します。

Ameba