Excel VBA ワークシートをHTMLテーブル
ナビゲーションに移動
検索に移動
Excel VBA ワークシートをHTMLテーブル
- Option Explicit
- Public Function MakeHtmlTable(table As Range, Optional headerType As String = "r", Optional headerSize As Integer = 1, Optional cls As String = "") As String
- Dim buf As String
- Dim cl As Range
- Dim rowPos As Integer
- Dim isFirstRow As Boolean
- Dim celVal As String
- Dim colPos As Integer
- Dim isColHeader As Boolean
- Dim isRowHeader As Boolean
- Dim celTag As String
- If Trim(cls) <> "" Then
- cls = " class=""" & cls & """ "
- Else
- cls = " border=""1"" "
- End If
- isColHeader = InStr(headerType, "c") > 0
- isRowHeader = InStr(headerType, "r") > 0
- isFirstRow = True
- rowPos = -1
- buf = "<table " & cls & ">"
- For Each cl In table
- If rowPos <> cl.Row Then
- If Not isFirstRow Then
- buf = buf & "</tr>"
- End If
- buf = buf & "<tr>"
- isFirstRow = False
- colPos = 0
- End If
- celVal = EscapeHtmlSpecial(cl.text)
- If Trim(celVal) = "" Then
- celVal = " "
- End If
- rowPos = cl.Row
- If (isColHeader And headerSize > colPos) Or _
- (isRowHeader And headerSize > rowPos) Then
- celTag = "th"
- Else
- celTag = "td"
- End If
- buf = buf & EncloseTag(celVal, celTag)
- colPos = colPos + 1
- Next
- buf = buf & "</table>"
- MakeHtmlTable = buf
- End Function
- Public Function EncloseTag(value As String, tag As String)
- EncloseTag = "<" & tag & ">" & value & "</" & tag & ">"
- End Function
- Public Function EscapeHtmlSpecial(text As String) As String
- Dim buf As String
- Dim c As String
- Dim i As Integer
- For i = 1 To Len(text)
- c = Mid(text, i, 1)
- Select Case c
- Case "&"
- c = "&"
- Case "<"
- c = "<"
- Case ">"
- c = ">"
- Case """"
- c = "'"""
- End Select
- buf = buf & c
- Next
- EscapeHtmlSpecial = buf
- End Function
- 使用例
- =MakeHtmlTable(B2:C7, "r", 1, "wikitable")
- 結果
プロパティ | 内容 |
axis | (UIStackViewのみ) スタックビューの方向を定義し、垂直または水平のどちらかを指定します |
orientation | スタックビューの方向を指定します。(NSStackView のみ) スタックビューの方向を、垂直または水平に定義 |
distribution | 軸に沿ったビューのレイアウトを定義 |
alignment | スタックビューの軸に垂直なビューのレイアウトを定義 |
spacing | 隣接するビューの間のスペースを定義します。 |
© 2006 矢木浩人