-PR-
解決済み

VBSでobjLINK.InnerTextの一部だ

  • 困ってます
  • 質問No.7979844
  • 閲覧数809
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 20% (1/5)

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

この部分が例えば「オークション」でなくとも「オークショ」のように
アンカーテキストリンクの一部が同じだったら、いけるようにしたいのですが、
どうしたらよろしいでしょうか?

「オークション」
だったら
「オークショ*」

「*クション」

とかでもいけるのかなーとおもってたんですが、
全然わからないんです。

どうかよろしくお願い致します。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル8

ベストアンサー率 80% (17/21)

プログラミング用語で「正規表現」というやつですね。
「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="^.*クシ.*$" でもオークションのトップページに飛べましたよ。
お礼コメント
karukonpu

お礼率 20% (1/5)

助かりました!
ありがとうございました!

>「VBS 正規表現」で検索
なるほど!
投稿日時 - 2013-03-08 13:56:17
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


抽選で合計100名様にプレゼント!

ピックアップ

ページ先頭へ