こんにちは、ジンです。
今回はExcelのVBAを使ってhtmlを書きだすサンプルを残しておきます。サーバーの環境によってはCGIやPHPなどが使えず、動的にページを作成できない場合において、定型のページを数多く生成するには大変便利な方法だと思います。またエクセルの表のデータをそのまま使用できるので、データベースを組むほどでもないサイトを作成する際もメリットはあるかと思います。
サンプルでは横には8個の項目、縦にはデータを入れた分だけhtmlの作成を行うようにしています。
こんな表を想像していただければ分かりやすいかと思います。
仮にシートに「CommandButton1」というボタンを配置して、ボタンと押したときに実行する場合のサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | Private Sub CommandButton1_Click() 'HTMLファイルを作成 For n = 2 To Worksheets("リスト").Range("$B$65536").End(xlUp).Row Path = ActiveWorkbook.Path & "\" FN = Path & Worksheets("リスト").Cells(n, 2).Value & ".html" Open FN For Output As #1 Print #1, "<html>" Print #1, "<meta http-equiv=" & Chr(34) & "Content-Type" & Chr(34) & "content=" & Chr(34) & "Text / html; Charset = shift_jis" & Chr(34) & " />" Print #1, "<title>" & Worksheets(1).Cells(n, 2).Value & "</title>" Print #1, "</head>" Print #1, "<body>" Print #1, Worksheets(1).Cells(n, 1).Value Print #1, "<br />" Print #1, Worksheets(1).Cells(n, 2).Value Print #1, "<br />" Print #1, Worksheets(1).Cells(n, 3).Value Print #1, "<br />" Print #1, Worksheets(1).Cells(n, 4).Value Print #1, "<br />" Print #1, Worksheets(1).Cells(n, 5).Value Print #1, "<br />" Print #1, Worksheets(1).Cells(n, 6).Value Print #1, "<br />" Print #1, Worksheets(1).Cells(n, 7).Value Print #1, "<br />" Print #1, Worksheets(1).Cells(n, 8).Value Print #1, "<br />" Print #1, "</body>" Print #1, "</html>" Close #1 Next n MsgBox "書き出しました" End Sub |