業務自動化とプログラミングのためのTips

自動化.work

Excel VBA

Excelの表の内容から自分好みのHTMLページを生成する [VBA]

投稿日:

Excel自体にWebページとしてHTMLファイルを出力する機能はついておりますが、ただの表が入ったHTMLとしての保存という感じのため自由度が低くなります。
今回はExcelのシートの内容から自分の作りたいスタイルのWebページを生成する方法を紹介します。この方法を用いれば、製品スペックの表から製品毎のWebページを生成するなんてことができます。
手動でページ毎にHTMLファイルを作成する必要がなくなるため、Webページ作成の効率がよくなります。
基本はテキストファイルへの出力と同様です。

エクセルで表の作成

まずHTMLページに含める情報の表を作成します。今回は以下のような製品の仕様表からページを生成することにします。

生成するHTMLページのデザイン

HTMLページのデザインはこのようにしたいと思います。

品名、型番などそれぞれを製品に合わせて入れていく形になります。

VBAのコード

文字列を小文字に変換 LCase

LCase(modelName)で製品名の英文字を小文字に変換しています。これがファイル名になります。
逆に大文字に変換するにはUCase(str)を使用します。

""の中で"を使う

"をエスケープするためには"の前に"をつけます。
そのため "<html lang=""; ja; "">" のような形になってます。

数字に桁区切りのカンマを入れる Format

Format(price, "#,#")を使って3桁目と4桁目の間にカンマを入れています。
このFormat関数は桁区切り以外にも様々な書式の表現に使えます。

Format 関数 (Visual Basic for Applications)
https://msdn.microsoft.com/ja-jp/library/office/gg251755.aspx


-Excel, VBA

Copyright© 自動化.work , 2020 All Rights Reserved.