三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

04/12 レース場を切り替える、開催地の切り替え IE操作 単勝表取込み

www.youtube.com

Private Sub CommandButton1_Click() 'テストで使う
Debug.Print Me.WebBrowser1.Document.URL
Debug.Print Me.WebBrowser1.Document.Title

Dim n As Integer

'INPUTタグ 決定のボタンを探す
Dim tagINPUT As Object 'INPUTのタグを保存する
Dim nInputNo As Integer '見つけたオブジェクトの場所
Set tagINPUT = Me.WebBrowser1.Document.all.tags("INPUT") 'INPUTのタグを取り出す

nInputNo = -1 'エラーの-1で初期化する
For n = 0 To tagINPUT.Length - 1 'INPUTのタグを頭から探る
If tagINPUT(n).Value = "決定" Then
nInputNo = n '見つけた番号をセットする。
Exit For '見つけたのでループを抜ける。
End If
Next n

'エラーの判断
If nInputNo = -1 Then '-1のまま、見つからなかったら、エラーにする。
MsgBox "決定 ボタンが見つかりません、システム管理者に連絡してください"
Exit Sub '関数を抜ける
End If

'上の階層、Formを探す。見つけたらobjFORMに代入する。
Dim objFORM As Object
Dim objOYA_TAG As Object '親のオブジェクトを入れる
Set objOYA_TAG = tagINPUT(nInputNo).parentElement '見つけたINPUTの親を代入
While objOYA_TAG.tagname <> "FORM" 'タグの名前がFORMになるまで(FORM以外の間まわる)
Set objOYA_TAG = objOYA_TAG.parentElement 'さらに、一つ上の親タグを代入
Wend
Set objFORM = objOYA_TAG '見つけたオブジェクトを代入(そのまま、下で使ってもいいんだけど。)

'↑で見つけたFORMを操作する。
Dim objSELECT As Object 'SELECTのタグ

Set objSELECT = objFORM.Item("m") 'Name=m Select を 代入

objSELECT.Options(1).Selected = True 'テストで上から2番目選択

Debug.Print "objSELECT.Options.Length " & objSELECT.Options.Length

Debug.Print "objSELECT.Options(0).Innertext " & objSELECT.Options(0).Innertext
Debug.Print "objSELECT.Options(1).Innertext " & objSELECT.Options(1).Innertext
Debug.Print "objSELECT.Options(2).Innertext " & objSELECT.Options(2).Innertext

'Formを送信する(決定ボタン.Clickでもいいけど FORM.Submitにしました)
objFORM.Submit '単純に.Submitメソッドで実行

End Sub

ポイントは、

を探し、
Set tagINPUT = Me.WebBrowser1.Document.all.tags("INPUT") 'INPUTのタグを取り出す

nInputNo = -1 'エラーの-1で初期化する
For n = 0 To tagINPUT.Length - 1 'INPUTのタグを頭から探る
If tagINPUT(n).Value = "決定" Then
みたいに、
.tags("INPUT") で取り出し、
If tagINPUT(n).Value = "****" Then
で判断しました。

FORMを見つけるには、
Set objOYA_TAG = tagINPUT(nInputNo).parentElement '見つけたINPUTの親を代入
While objOYA_TAG.tagname <> "FORM" 'タグの名前がFORMになるまで(FORM以外の間まわる)
Set objOYA_TAG = objOYA_TAG.parentElement 'さらに、一つ上の親タグを代入
Wend
Set objFORM = objOYA_TAG
↑決定ボタンから.parentElementで上・上・上の親オブジェクトを探し、
FORMまでたどり着きます。

次は、見つけたFORMの中の、
よく検索されるキーワード:
[質問回答XXXXさんへ]
[CreateObject]
[VBA]
[JRA競馬オッズ]

Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。

  1. [VBA・マクロ プログラミング]の解説
    当店の人気はVBA系のCreateObject("XXXXXX.application")で他のアプリケーションを操作するサンプルが人気です
  2. [プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
    三流君を踏み台にする
  3. [古いクラシック ASP(Active Server Pages)]の解説。
  4. [元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。



本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)