風子の使っているエクセルマクロです。
作ったのが嬉しくて、ここにも載せちゃいます

OSはWindows、Excelのバージョンは97です。
多分、2000でも問題ないとは思います。(マクロ上の変更点はなかったし)

エクセルの「Visual Basic Editor」を立ち上げて、 標準モジュールを追加して下さい。
そして、モジュールの中に以下のプロシージャを書き込んで下さい

***追加するプロシージャ***
Sub 変換()
Dim Hensu1() As String
Dim Head1() As String, Foot1() As String
Dim HeadSu1 As Integer, FootSu1 As Integer
Dim Kaisu1 As Integer, Kaisu2 As Integer
Dim Kaisu3 As Integer, Kaisu4 As Integer
Dim Kaisu5 As Integer
Dim File1 As Variant, File2 As Variant
Dim FileName1 As String
Dim Mozi1 As Integer

    File1 = Application.GetOpenFilename("テキスト ファイル (*.txt),*.txt,全てのファイル (*.*),*.*")
    If File1 = False Then Exit Sub
    FileName1 = Left(File1, Len(File1) - 4)
    
    File2 = Application.GetSaveAsFilename(FileName1, "htm ファイル (*.htm), *.htm")
    If File2 = False Then Exit Sub
    
    HeadSu1 = ActiveWorkbook.Worksheets("上").Columns(1).Find("").Row - 2
    ReDim Head1(HeadSu1)
    
    For Kaisu3 = 1 To HeadSu1
        Head1(Kaisu3 - 1) = ActiveWorkbook.Worksheets("上").Range("A" & Kaisu3)
    Next Kaisu3
    
    FootSu1 = ActiveWorkbook.Worksheets("下").Columns(1).Find("").Row - 2
    ReDim Foot1(FootSu1)
    
    For Kaisu4 = 1 To FootSu1
        Foot1(Kaisu4 - 1) = ActiveWorkbook.Worksheets("下").Range("A" & Kaisu4 + 1)
    Next Kaisu4
    
    
    ReDim Hensu1(0)
    Kaisu1 = 0
    
    Open File1 For Input As #1
    
        Do While Not EOF(1)
            Line Input #1, Hensu1(Kaisu1)
            Kaisu1 = Kaisu1 + 1
            ReDim Preserve Hensu1(Kaisu1)
        Loop
    Close #1
        
    Open File2 For Output As #2
    
        For Kaisu2 = 1 To HeadSu1
            Print #2, Head1(Kaisu2 - 1)
        Next Kaisu2
        
        For Kaisu2 = 1 To Kaisu1
            If Len(Hensu1(Kaisu2 - 1)) > 30 Then
                Mozi1 = Hensu1(Kaisu2 - 1) \ 30 + 1
                For Kaisu5 = 1 To Mozi1
                    If Kaisu5 = Mozi1 Then
                        Print #2, Mid(Hensu1(Kaisu2 - 1), (Kaisu5 - 1) * 30 + 1, 30); "<BR>"
                    Else
                        Print #2, Mid(Hensu1(Kaisu2 - 1), (Kaisu5 - 1) * 30 + 1, 30)
                    End If
                Next Kaisu5
            Else
                Print #2, Hensu1(Kaisu2 - 1); "<BR>"
            End If
        Next Kaisu2
        
        For Kaisu2 = 1 To FootSu1
            Print #2, Foot1(Kaisu2 - 1)
        Next Kaisu2
    
    Close #2

End Sub
***ここまで***


ワークシート名「上」「下」を追加し、以下の文を(あなたのHPのデザインに
合わせて変更して)セル「A1」から下へ追加して下さい。
但し、必ず「(本文)」という文字は入れて下さいね。(マクロ動かないから)

***ワークシート「上」に追加する文字***
<HTML>
<HEAD>
<TITLE>(たいとる)</TITLE>
<META http-equiv="Content-Type" Content="text/html; charset=Shift_JIS">
</HEAD>
<body bgcolor="#FFFFFF" text="#339966" link="#0000FF" vlink="#FF99CC">
(本文)
***ワークシート「上」終了

***ワークシート「下」に追加する文字***
(本文)
</BODY>
</HTML>
***ワークシート「下」終了


具体的な使い方

貴方の書いた小説をテキスト形式で保存します。
(できれば、マイドキュメントの中が理想です)

このマクロのあるエクセルファイルを開きます。
そして、「ツール」−「マクロ」−「マクロ」と選択して
「変換」を選択して実行します。

そうすると、ファイル選択画面になりますので、
保存したテキストファイルを選んで「開く」をクリックします。
再び選択画面になりますので、ファイル名に変更が無ければ、
そのまま「保存」をクリックして下さい。

以上です。

最初のテキストファイルのある場所を見て頂ければ、
変換したHTMファイルが見つかると思います。

あとは、テキストエディタ等を使って中身をアレンジして下さい。