VBSでリンクをクリックしたいのですが、
某所からコピペしたVBSのスクリプトです。
これを実行すると、たしかに
YAHOOのオークションに行きます。
==============================
Option Explicit
Dim objIE
Dim objShell
Dim strBody
Dim objLINK
'Shell.Application オブジェクトの作成
Set objShell = CreateObject("Shell.Application")
'IE を起動して Yahoo のトップページを開く
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True 'IEウィンドウを表示
objIE.Navigate2 "http://www.yahoo.co.jp/" 'Yahoo のページが起動する
'ページの読み込みが終わるまで待機する
Do Until objIE.Busy = False
'空ループだと無駄にCPUを使うので250ミリ秒のインターバルを置く
WScript.sleep(250)
Loop
' Yahoo トップページのオークションのリンクをクリックする
For Each objLINK In objIE.Document.Links
If objLINK.InnerText = "オークション" Then
objLINK.Click
Exit For
End If
Next
============================
質問させていただきたいのは
If objLINK.InnerText = "オークション" Then
この部分が例えば「オークション」でなくとも「オークショ」のように
アンカーテキストリンクの一部が同じだったら、いけるようにしたいのですが、
どうしたらよろしいでしょうか?
「オークション」
だったら
「オークショ*」
や
「*クション」
とかでもいけるのかなーとおもってたんですが、
全然わからないんです。
どうかよろしくお願い致します。
プログラミング用語で「正規表現」というやつですね。
「VBS 正規表現」で検索するといいですよ。
最後の節をこうしてみてください。
Dim objRE
Set objRE=CreateObject("VBScript.RegExp")
objRE.Pattern="^.*ークショ.*$"
' Yahoo トップページのオークションのリンクをクリックする
For Each objLINK In objIE.Document.Links
If objRE.Test(objLINK.InnerText) Then
objLINK.Click
Exit For
End If
Next
objRE.Pattern="^.*クシ.*$" でもオークションのトップページに飛べましたよ。
お礼
助かりました! ありがとうございました! >「VBS 正規表現」で検索 なるほど!