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 & "
---|