Excelの表をHTMLへ変換する方法!widthやthも調整可!

xcelの表をHTMLへ変換したいときはないでしょうか。

例えば、WordPressなどWebへExcelの表を貼り付けたい時などです。

けど、そんな中で悩むことは、

・Excelの表をHTMLへ変換したいが方法がわからない。
・WordPressへExcelの表を貼り付けたいが、余計なスタイルが入るので除きたいが方法がわからない。
・VBAで表をHTMLへ変換したいが複雑でどう組めばよいかわからない。

ですよね。

今回はそんなお悩みを解決する

Excelの表をHTMLへ変換し、テキストファイルへ出力する方法

についてまとめます!

Excelの表をHTMLへ変換するイメージ

Excelの表をHTMLへ変換するイメージについて説明をします。

HTMLへ変換したい表を用意します。

表をマウスなどで範囲選択し。

VBAを実行すると、

外部のテキストファイルへ表を変換したHTMLが出力されます!

WordPressなどWebページへコピペすると、

ブラウザではこんな感じで表示されます!

No. 商品名 単価
1 にんじん 100
2 きゅうり 70
3 ピーマン 50

 

ワンクリックで変換からテキスト出力までできるので便利ですね!

それでは早速使ってみましょう!

HTMLへ変換する表を用意する

HTMLへ変換する表を用意しましょう。

表の内容はなんでもよいですが、確認のため複数行、複数列の構成にします。

サンプルは以下の通りです。

VBAでExcelの表をHTMLへ変換する

VBAを使い、Excelの表をHTMLへ変換する機能を追加していきましょう。

VBAを用意する

まずは、今回使うVBAのコードを用意しましょう。

VBAのコードは以下の通りです。

Sub Excelの表をHTMLへ変換する()
    
    'テキストを出力するテキストファイルを指定します。デフォルトはVBAを実行するブックと同階層となります。
    Open ThisWorkbook.Path & "\outputtable.txt" For Output As #1
    
    'thにする箇所を選択します。0の場合はすべてtd、1の場合は横の1行目をth、2の場合は縦の1列目をthとします。
    selectth = 1
    
    'TableのサイズやCSSなどスタイル設定があれば入力します。
    strTableStyle = "<table width=""100%"">"
    
    '選択した範囲を配列へ格納します。
    tempHairetsu = Selection

    Dim i As Integer
    Dim j As Integer

    Print #1, strTableStyle
    Print #1, "<tbody>"

    ' 選択した範囲全要素をループします。
    ' 行の件数分縦方向に繰り返します。
    For i = LBound(tempHairetsu, 1) To UBound(tempHairetsu, 1)
        Print #1, "<tr>"
        
        ' 列の件数分横方向に繰り返します。
        For j = LBound(tempHairetsu, 2) To UBound(tempHairetsu, 2)
            
            Select Case selectth
                Case 1
                    '1行目をthにします。
                    If i = 1 Then
                       Print #1, "<th>" & tempHairetsu(i, j) & "</th>"
                    Else
                      Print #1, "<td>" & tempHairetsu(i, j) & "</td>"
                    End If
                    
                Case 2
                    '1列目をthにします。
                    If j = 1 And i = 2 Then
                       Print #1, "<th>" & tempHairetsu(i, j) & "</th>"
                    Else
                      Print #1, "<td>" & tempHairetsu(i, j) & "</td>"
                    End If
                    
                Case Else
                    '指定がない、もしくは0の場合はtdにします。
                    Print #1, "<td>" & tempHairetsu(i, j) & "</td>"
            End Select
        Next
        Print #1, "</tr>"
    Next

    Print #1, "</tbody>"
    Print #1, "</table>"

'開いたファイルを閉じます。
Close #1

'終わったのが分かるようにメッセージを出す
MsgBox "表のHTML変換が完了しました!"

End Sub

VBAを設定する

VBAを設定していきましょう。設定する箇所は以下の通りです。

テキストを出力するテキストファイルを指定します。デフォルトはVBAを実行するブックと同階層となります。

Open ThisWorkbook.Path & “\outputtable.txt” For Output As #1

thにする箇所を選択します。
0の場合はすべてtd、
1の場合は横の列項目をth、
2の場合は縦の行項目1つ目をthとします。

selectth = 0

TableのサイズやCSSなどスタイル設定があれば入力します。

strTableStyle = “<table width=””100%””>”

タカヒロ
タカヒロ
thとTableサイズの指定方法は後述しますので、まずはサンプルの設定のままで試してみましょう。

VBAを実装し実行する

VBAを実装し実行してみましょう。

実装方法は「VBAの実装手順」をご覧ください。

実装できたらマクロから「Excelの表をHTMLへ変換する」を見つけます。

置換対象範囲をマウスなどで選択し、マクロを実行します。

メッセージが表示されたら処理は完了です。

ブックがある同一階層に「outputtable.txt」がありますので、見つけたらメモ帳などで開きます。

はい、HTMLが出力されていますね!

WordPressに張り付けた結果です。

No. 商品名 単価
1 にんじん 100
2 きゅうり 70
3 ピーマン 50

問題ないですね!

VBAの実装手順

実装手順は以下の通りです。

Excel側にVBAを実装していきます。

①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。

②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。

③右ペインのウインドウに上記のVBAを入力します。

こちらで完了です。

VBAを実行する

では早速VBAの実行をしてみましょう。

①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。

②処理がされたことが確認できれば完了です。

VBAを実行する

早速VBAの実行をしてみましょう。

①「開発」タブの「マクロ」をクリックし今回実装したマクロ明を選択し、「実行」をクリックします。

②「表のHTML変換が完了しました!」が表示されたら、処理結果を確認しましょう。

「th」にする箇所やスタイルを変更する

現在、表の中の項目名と値は同じスタイルが適用されています。
それを区分けする方法として「th」タグをつける方法がありますので、1行目や1列目にそれぞれ「th」タグを付けてみます。
次に表全体のサイズや色などのスタイルも変更してみましょう。

1行目に「th」タグを付ける

1行目に「th」タグを付けてみましょう。

変数selectth の値を1に変更します。

selectth = 1

表を選択してVBAを実行してみましょう。

はい、1行目が「th」タグになりましたね!

WordPressへ実装した結果は以下です。

No. 商品名 単価
1 にんじん 100
2 きゅうり 70
3 ピーマン 50

1列目に「th」タグを付ける

1列目に「th」タグを付けてみましょう。

変数selectth の値を2に変更します。

selectth =2

表を選択してVBAを実行してみましょう。

はい、1列目が「th」タグになりましたね!

WordPressへ実装した結果は以下です。

No. 商品名 単価
1 にんじん 100
2 きゅうり 70
3 ピーマン 50

Tableのサイズやスタイルを変更する

Tableのサイズやスタイルを変更することができます。

幅を80%、余白を追加してみましょう。

以下の箇所を変更します。

strTableStyle = “<table style=””width:300px;background-color: #99cc00″”>”

表を選択してVBAを実行してみましょう。

出力したHTMLをWordPressへ貼り付けます。

はい、サイズとスタイルが変更されていますね!

No. 商品名 単価
1 にんじん 100
2 きゅうり 70
3 ピーマン 50

Excelの表をHTMLへ変換しセルへ出力する

セルへ出力版について別記事にまとめていますので、よろしければこちらもご参考ください。
Excelの表をHTMLへ変換しセルへ出力する方法!THも指定可!

さいごに

いかがでしょうか。

今回は、

Excelの表をHTMLへ変換し、テキストファイルへ出力する方法

についてまとめました。

また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。








コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です