« センター試験数学のプログラム問題をVBAで | トップページ | 色の表示形式の変換 1 »

2010年1月20日 (水)

ダブルクォーテーションをシングルクォーテーションに置換する

ダブルクォーテーションを
シングルクォーテーションに置換したい場面は
どういう時でしょうか?

例えば…
HTMLでリンクを作るにはこういうタグを使います。

<A href="https://yumem.cocolog-nifty.com/blog/">やむえむのExcel VBAメモ</A>

Aタグの属性(href)のところに
ダブルクォーテーションを使います。

これをJavaScriptで表示しようと
そのままdocument.write()の()の中に入れるとこうなります。

document.write("<A href="https://yumem.cocolog-nifty.com/blog/">やむえむのExcel VBAメモ</A>");

しかしこれではうまくいきません。
ダブルクォーテーションの中に
ダブルクォーテーションが入ってしまっているからです。

このような時
JavaScriptの文字列の中の
HTMLのタグの属性に使われている
ダブルクォーテーションを
シングルクォーテーションに替えて扱います。

ここで、ダブルクォーテーションを
シングルクォーテーションに置換する必要が生じます。

置換にはReplace メソッドを使います。
What:=の方が置換前の文字
Replacement:=の方が置換後の文字です。

詳しい説明はVBAヘルプを見てください。

コードはこちら

「"」を「'」に置換するコード:

Sub macro100120a()
'ダブルクォーテーションを
'シングルクォーテーションに置換

    Range("A1").Replace _
        What:=Chr(34), Replacement:="'"
       
End Sub

プロシージャ実行前のセルA1
Pic20100120a

結果は
Pic20100120b

Chr関数は過去記事を参照して下さい。

この例のように1行くらいではメリットは
あまりありません。

しかし、既存のたくさんのHTMLを
JavaScriptで使いたい時など
手間のかかる単純作業を
VBAがサッとやってくれると
楽です。

|

« センター試験数学のプログラム問題をVBAで | トップページ | 色の表示形式の変換 1 »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: ダブルクォーテーションをシングルクォーテーションに置換する:

« センター試験数学のプログラム問題をVBAで | トップページ | 色の表示形式の変換 1 »