« 画像一覧のHTMLファイル作成 | トップページ | HTMLファイルの目次を作る2 »

2011年4月24日 (日)

VBAのコードをHTMLで表示できるようにする

VBAのコードをHTMLでそのままの形式で表示するには
改行や段落などのタグを追加したり、
インデントを正しく表示するために
スペースの特殊フォントを入れたりします。

またVBAのコード内の文字列にHTMLが入っていると
ブラウザはそれをタグとみなしてしまうので
それも特殊フォントに置き換えます。

手順を説明します。

1.まずVBAコード内の文字列に含まれる
タグとして認識されてしまう記号&<>"を
特殊文字に置き換えます。

2.次に見やすくするために
1行空けているところに<P>タグを使用します。
「1行空けている」ということは改行が2つ続いているので
「Chr(10) & Chr(10)」を「</P><P>」で置き換えます。

3.改行のところに<BR/>タグを追加します。
つまり、「Chr(10)」を「<BR/>」に置き換えます。

4.インデントを正しく表示するために
スペース2つを「&nbsp; 」で置き換えます。
タブキー一回はスペース2つ分みたいです。

コードはこちら

VBAのコードをHTMLで表示できるようにするコード:

Sub macro110424a()
'マクロソースのHTML変換
'HTML変換したいコードをB1セルに入れておく

    Dim Str As String
    Dim i As Long
   
    Str = Range("B1")
   
    '1.特殊フォント置換え
    Str = Replace(Str, "&", "&amp;")
    Str = Replace(Str, "<", "&lt;")
    Str = Replace(Str, ">", "&gt;")
    Str = Replace(Str, Chr(34), "&quot;")
   
    '2.1行空け置換え
    Str = Replace(Str, Chr(10) & Chr(10), "</P><P class=macro>")
   
    '3.改行置換え
    Str = Replace(Str, Chr(10), "</BR>")
   
    '4.スペース置換え
    Str = Replace(Str, Chr(32) & Chr(32), "&nbsp; ")
   
    '変換後の文字列をB2セルに入れる
    Range("B2") = Str

End Sub

上の枠内のコードのHTMLは
これを使って生成しました。

|

« 画像一覧のHTMLファイル作成 | トップページ | HTMLファイルの目次を作る2 »

コメント

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

トラックバック


この記事へのトラックバック一覧です: VBAのコードをHTMLで表示できるようにする:

« 画像一覧のHTMLファイル作成 | トップページ | HTMLファイルの目次を作る2 »