'セル範囲からHTMLのTableを作成するマクロ(超簡易版) 'セル範囲を選択して、WriteHTMLTableマクロを実行してください。 '右詰め左詰め等の配置は明示的に指定しておいてください。 Option Explicit Sub WriteHTMLTable() Dim range1 As Range, range2 As Range On Error GoTo err_1 If TypeName(Selection) <> "Range" Then MsgBox "セル範囲を選択して実行してください。", _ vbExclamation, "HTMLTableの作成" Exit Sub End If Set range1 = Selection.Areas(1) Set range2 = Workbooks.Add(xlWorksheet).Worksheets(1).Cells(1, 1) If Not WriteHTMLTable2(range1, range2) Then MsgBox "文字が入りきらなかったセルがあります。確認してください。", _ vbExclamation, "HTMLTableの作成" End If range2.CurrentRegion.Select Selection.Copy Exit Sub err_1: MsgBox Error(Err) & " (" & Err & ")", vbExclamation, "HTMLTableの作成" End Sub 'HTMLをセルに出力する関数 'もし文字が入りきらないセルがあったらFalseを返す。 Function WriteHTMLTable2(range1 As Range, range2 As Range) As Boolean Dim i As Integer Dim r As Range, r2 As Range, r3 As Range Dim s As String, s2 As String WriteHTMLTable2 = True Set r2 = range2.Cells(1, 1) WriteString r2, "
" Case xlLeft s = " | " Case xlRight s = " | " Case Else s = " | " End Select s2 = Trim$(r3.Text) If Len(s2) = 0 Then s = s & " | " Else s = s & MyConvertToHTML(s2) & "" End If If Not WriteString(r2, s) Then WriteHTMLTable2 = False Next WriteString r2, "