プロレスファンプログラミング (VBA編)

ノンプログラマーが書く、プログラミングブログ。 Excel VBA を使ったプロレスファン向けツール作成

ダブルクオーテーションを2重にするため、Replace関数を使う

ダブルクオーテーションが含まれるテキストを、csvファイルとして使うためにダブルクオーテーションを2重にすることがある。

ダブルクオーテーションをReplace関数で2重にするサンプル。

Sub ダブルクオーテーションの置換()

    Dim TEXT As String

    TEXT = "<p class=""sample"">文章</p>"

    Debug.Print TEXT

    TEXT = Replace(TEXT, """", """""")  'ダブルクオーテーションを2重にする

    Debug.Print TEXT

End Sub

実行結果

<p class="sample">文章</p>
<p class=""sample"">文章</p>


ダブルクオーテーションを2つ連続して入力することで「ダブルクオーテーション」を表す。
他の言語だと \" と表記することがある。似たような感じでVBAでは "" と表記する。
Replace関数で引数を指定する場合、最初と最後をダブルクオーテーションで囲う。


実際にcsvとして使う時には、全体をダブルクオーテーションで囲うので、以下のサンプルのようになる。

Sub ダブルクオーテーションの置換2()

    Dim TEXT As String
    
    TEXT = "<p class=""sample"">文章</p>"

    Debug.Print TEXT

    TEXT = """" & Replace(TEXT, """", """""") & """" '"を2重にして全体を"で囲う

    Debug.Print TEXT

End Sub


実行結果

<p class="sample">文章</p>
"<p class=""sample"">文章</p>"
姉妹ブログのプロレスファンプログラミング (GAS編)では、Google Apps Script を利用しています。