単純なHTML形式で出力

Excel の[名前を付けて保存]で [Webページ]を選択すれば、HTML 形式での保存ができますが、ここでは書式設定等のスタイル設定を省いて、セルの値だけをシンプルに出力してみます。実行できる条件として、セル A1に何らかの文字列が入力されているとします。出力されるのはアクティブなシートだけです。

Sub 単純なHTML形式で出力()
  Dim fs As Object
  Dim File1 As Object
  Dim r As Long
  Dim c As Long
  Dim i As Long
  Dim j As Long
  Set fs = CreateObject("Scripting.FileSystemObject")
  Set File1 = fs.CreateTextFile(ThisWorkbook.Path & "\sample.htm")
  With ActiveSheet.UsedRange
    r = .Rows.Count
    c = .Columns.Count
  End With
  File1.WriteLine ("<html lang='ja'>")
  File1.WriteLine ("<head>")
  File1.WriteLine ("<meta http-equiv='Content-Type' content='text/html; charset=Shift-JIS'>")
  File1.WriteLine ("</head>")
  File1.WriteLine ("<body>")
  File1.WriteLine ("<table border='1'>")
  For i = 1 To r
    File1.WriteLine ("<tr>")
    For j = 1 To c
      File1.WriteLine ("<td>" & Cells(i, j).Value & "</td>")
    Next j
    File1.WriteLine ("</tr>")
  Next i
  File1.WriteLine ("</table>")
  File1.WriteLine ("</body>")
  File1.WriteLine ("</html>")
  File1.Close
End Sub

実行したブックと同じフォルダに 'sample.htm' というファイルができます。これが Web ページです。Worksheet コレクションを使えば、すべてのワークシートの内容を出力することもできます。