• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ダブルコーテーションを許可する関数)

ダブルコーテーションを許可する関数

このQ&Aのポイント
  • ダブルコーテーションを許可する関数はこれで動かないでしょうか??
  • 入力フォーム中で”を記述すると次の画面では消えてしまうので関数を使ってOKにしようとかんがえました。
  • Function DoubleQuote(ByVal astrText)     Dim strCnvText Dim strChar Dim lPos strCnvText = "" For lPos = 1 To Len(astrText) strChar = Mid(astrText, lPos, 1) Select Case strChar Case "\" strCnvText = strCnvText & "" Case Else strCnvText = strCnvText & strChar End Select Next DoubleQuote = strCnvText End Function

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

2カ所文法エラーになるところがありますね。 実装すべき仕様が明確じゃないので外してるかもしれませんが、 astrText中の二重引用符1文字を二重引用符2文字に全置換したいのだったら、 Function DoubleQuote(ByVal astrText) DoubleQuote = Replace( astrText, """", """""", 1, -1 ) End Function ――で良いのでは。 ただし二重引用符のエスケープの仕方は、言語仕様により異なってます(HTMLなら実体参照、JavaScriptならバックスラッシュ前置。)ので、上記DoubleQuoteで問題が全て解消する可能性は期待薄と思われます。