0

HTML ページ内のテキストを検索して置換する vb スクリプトがいくつかあります。次のようになります:-

Const ForReading = 1
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("", ForReading)

strText = objFile.ReadAll
objFile.Close

strNewText = Replace(strText, "<span>OK</span><!--test-->" , "<span class=""down"">Down</span><!--test-->") 


Set objFile = objFSO.OpenTextFile("", ForWriting)
objFile.WriteLine strNewText
objFile.Close

これは、置き換えるテキスト文字列が 1 つしかない場合にうまく機能します。ただし、以下も変更するスクリプトが必要です。これ:-

<span class=""under-investigation"">Under investigation</span><!--test--> 

これに:-

<span class=""down"">Down</span><!--test-->

ただし、「どちらか」「または」のはずです。文字列に「OK」と表示されている場合は「ダウン」に、文字列に「調査中」と表示されている場合は「ダウン」にします。「OK」を「ダウン」に置き換えるか、「調査中」を「ダウン」に置き換えるか、または関数をそこに入れる方法を知っている人はいますか?

言いたいことを言葉にするのは難しいです、私がはっきりしない場合は申し訳ありません。ご質問は大歓迎です!

どうもありがとう!

4

1 に答える 1

0

Replace2 つ目の命令を追加するだけですか?

strNewText = Replace(strText, "<span>OK</span><!--test-->" , "<span class=""down"">Down</span><!--test-->")
strNewText = Replace(strNewText, "<span class=""under-investigation"">Under investigation</span><!--test-->" , "<span class=""down"">Down</span><!--test-->")

または、次のようにします。

If InStr(strText, "<span>OK</span><!--test-->") > 0 Then
  strNewText = Replace(strText, "<span>OK</span><!--test-->" , "<span class=""down"">Down</span><!--test-->")
Else
  strNewText = Replace(strText, "<span class=""under-investigation"">Under investigation</span><!--test-->" , "<span class=""down"">Down</span><!--test-->")
End If
于 2013-03-28T11:35:57.000 に答える