VBAでエクセルの表(テーブル)をHTMLファイルに変換するマクロを作ってみました。
ただ、スタイルを使用するようには作ってないので味気ないものです。
しかし、サンプルのVBAのネストされているFORループをやめて、各列ごとにスタイルを設定するようにすれば簡単に変更できます。
Option Explicit
'メインの処理用関数
Public Sub exportHTML()
Dim fileName As String
Dim fileNum As Integer
Dim buf As String
'最初にアクティブだったシート
Dim ws As Worksheet
'データがあると思われるセル範囲
Dim dataRange As Range
Dim rowStart As Integer
Dim rowEnd As Integer
Dim colStart As Integer
Dim colEnd As Integer
'ワークシートの行番号
Dim i As Long
Dim j As Long
fileName = ThisWorkbook.Path & "\exportHTML.html"
'最初にアクティブなシートにデータがあるとしてシートを記憶しておく
Set ws = ActiveSheet
'データ範囲を自動認識
Set dataRange = ActiveCell.CurrentRegion
'データ範囲をFORループで処理するために行番号と列番号の範囲を取得しておく
rowStart = 1
rowEnd = rowStart + dataRange.Rows.Count - 1
colStart = 1
colEnd = colStart + dataRange.Columns.Count - 1
'空いているファイル番号を取得
fileNum = FreeFile
'書き込みでファイルを開く
Open fileName For Output As #fileNum
Print #fileNum, "エクスポートテーブル " & vbCrLf
Print #fileNum, "| " & dataRange(i, j).Text & " | " Else '1行目は列見出しにする buf = buf & "" & dataRange(i, j).Text & " | " End If Next j buf = buf & "
|---|
