ブログに貼れるTABLE作成ツール

VBA, ブログ・アフィリエイト, プログラミング

EXCEL VBA ツール作成

ちょっとした作業を自動化するにはjavascriptやC#、pythonよりもどちらかというとEXCEL VBAを使っています。EXCELが持つ表機能やオートフィルを最大限に活用でき、処理自体をVBAに投げることで親和性の高いツールを短時間で作れる為。

自分用で使うのならこれで全然OK。適材適所でツールを使い分けていくのが一番だと思います。

TABLE作成ツール

ブログでテーブルを組みたいときに便利なツールを作りました。

WordPressやWeb作成ツールでTableタグを作ると、サイズ指定や変なclassをつけられたりするのが嫌だったのでクリーンなTableタグを出すツールになっています。

<table>タグを打ち込んで構成したり、オートフィルで<table>タグを追加するのもめんどくさいと思い、EXCELの指定範囲を元に表タグを生成するツールを作りました。VBAです。

'選択範囲でTABLEタグを生成
Sub TABLE作成()
    Dim table_row As Integer
    Dim table_col As Integer
    Dim html As String
        
    table_row = 1
    table_col = 1
    
    html = "<table>" + vbCrLf
    
    For i = 1 To Selection.Count
        '行の始めの場合
        If table_col = 1 Then
            html = html _
                 + "<tr>" + vbCrLf
        End If
        
        If table_row = 1 Then
            'TD要素
            html = html _
                 + vbTab + "<th>" + Selection(i).Text + "</th>" + vbCrLf
        Else
            'TD要素
            html = html _
                 + vbTab + "<td>" + Selection(i).Text + "</td>" + vbCrLf
        End If
        
        '次行に移動
        If table_col = Selection.Columns.Count Then
            table_row = table_row + 1
            table_col = 1
            
            html = html _
             + "</tr>" + vbCrLf
        Else
            table_col = table_col + 1
        End If
    Next i
    
    html = html _
         + "</table>" + vbCrLf
         
    MsgBox html
    
    With New MSForms.DataObject
        .SetText html       '変数の値をDataObjectに格納する
        .PutInClipboard     'DataObjectのデータをクリップボードに格納する
    End With
    
End Sub

EXCELでシートを作り、[開発]-[Visual Basic]で標準モジュールを追加してコードをコピペください。クリップボードにコピーするために「Microsoft Forms 2.0 Object Library」を参照するので、参照設定してください。