- ベストアンサー
Excel VBAを使ってHTML生成をする方法
- エクセルにデータを入力し、VBAを使用して各セルに対応した数値が代入されたHTMLファイルを生成する方法について教えてください。
- VBAを使ってHTML生成をすることは可能です。エクセルのデータを読み込んで、各セルの値をHTMLのリンクに埋め込むことができます。
- 他にもデータベースを使用してHTMLを生成する方法も考えられます。エクセルのデータをデータベースに保存し、PHPやPythonなどでデータベースからHTMLを生成することができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VBAでもできるし、式だけでもできますが。 VBAなら、sheets("シート名").cells(1,1).valueがA1の値だから、 open "作成するhtmlファイル" for output as #1 print #1,"<a href=""" & sheets("シート名").cells(1,1).value & ".html"">" & sheets("シート名").cells(1,2).value & "</a><br/>" ・・・ close といった具合ですし、 式だけで作ろうと思えば、 別のシートに、 ="<a href=""&シート名!A1&".html"">"&シート名!A2"</a><br/>" ・・・ と式を入れておいて、そのシートだけ保存すればいい。 (新しいマクロを記録しておくと保存するボタンも作れますし。) 個数が可変かどうか?(というか上限が決めれるかどうか) で使い分けたらいいと思います。
その他の回答 (1)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
動的にでなければ私なら 1)保存したファイル(新しいエクセルならXMLですから)からXSLTを使ってHTMLにする。 2)いったんCSVで保存して、テキストエディタか、CGIでHTMLに変換する。 (2)の場合CSVからXMLを作ってXSLTを使う。これは価格表からHTMLを作るときに何度も使いました。XSLTはローカルでは対応しているブラウザが限られるので、サーバーのものを使うほうが良いでしょう。 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="../xsl/sample.xsl" ?> <DOC> <title>価格表</title> <author> <firstname>Firstname</firstname> <lastname> Lastname </lastname> </author> <大分類> <title>鍋</title> <中分類> <title id="wh">両手鍋</title> <小分類> <title id="wh_st">ステンレス</title> <品名>ステンレス1層</品名> <表> <見出し> <項目 縦="3">呼び寸法</項目> <項目 縦="3">サイズ</項目> <項目>18-0</項目> <項目 横="2">18-8</項目> </見出し> @IT:XMLテクニック集 - XML文書をXSLTスタイルシートに動的に紐付ける(ASP.NET編) ( http://www.atmarkit.co.jp/fxml/tecs/003dynstyleliink/03.html ) とか・・・
お礼
高等なテクニックをご教示いただきありがとうございます。 お恥ずかしながら私にはSiegruneさんの方がわかりやすかったです。
お礼
ありがとうございます。 参考にしてやってみます。