ASP(VBScript) 「コンパイル エラー エラー '800a0409'」

久しぶりにハマりました・・・

HTML ファイルを読み込んで特定の HTML のコメント(<!-- こういうの -->)を置き換えるスクリプトを作ってたんですが、以下のようなエラーが発生して動きません。

Microsoft VBScript コンパイル エラー エラー '800a0409'

終了していない文字列型の定数です。

なにこれ?

ソースは以下のような感じなんですが、エラーになってしまいます。

str = Replace(str_html, "<!-- 変換前 -->", "変換後")

「終了していない文字列型の定数です。」って " を閉じ忘れていたりする時に出るエラーなので特殊文字(エスケープ文字)が含まれてるのかと思ったんですが、どうやら違うようです。

要は、<!-- が悪いみたい。
確かに script タグ内でも利用できるので、怪しいといえば怪しいですが・・・
展開されるの??って感じです。

回避策は、以下の様にしてあげればいいようです。

"<" & "!-- コメント -->"

続けて <!-- と記述しなければ問題は起きないと言うことですね。

うーん、めんどくさい。
そして釈然としません・・・