如何将Excel单元格插入到带有VBA的HTML类中

是否可以使用VBA将Excel单元格值插入HTML格式?

我有HTML模板:

<html> <head><title></title></head> <body> <div class="article"> <div class="title"></div> <div class="date"></div> <div class="content"></div> </div> </body> </html> 

和Excel中的数据:

 | Title | Date | Content | +----------+---------+--------------------------------------+ | Sample1 |20150811 | Lorem ipsum dolor | | Sample2 |20150812 | Lorem ipsum dolor | | Sample3 |20150813 | Lorem ipsum dolor | 

目标:我想创build一个Excelmacros,将单元格插入到HTML类中,并将每行保存为HTML文件,结果是3个具有相同模板和不同内容的HTML。

有人可以帮我指点一些参考吗? 或线索,我该怎么做才能达到目标。 我试图search,但结果是从网上刮到Excel。 没有什么从Excel到HTML。

在这里,我给你一个:

 Public Sub exportHTML() Dim templateStream As TextStream Dim templatePath, templateText, newFile, newText As String Dim dataSheet As Worksheet Dim row As Integer 'Create FileSystemObject Dim fsObject As New FileSystemObject 'Set template file path templatePath = "C:\template.html" 'Set sheet Set dataSheet = Sheets("sheetname") 'If template file is exist. If fsObject.FileExists(templatePath) Then 'Open template file Set templateStream = fsObject.OpenTextFile(templatePath) 'Read data templateText = templateStream.ReadAll 'Close template file templateStream.Close 'Looping all row For row = 2 To 4 'Here you need to modify the end row as you like 'Get new html file (filename: Range("A").html)(eg Sample1.html) 'You can change file name. newFile = ThisWorkbook.Path & "\" & dataSheet.Range("A" & row) & ".html" 'Set old text to new text newText = templateText 'Set title newText = Replace(newText, "<div class=""title""></div>", "<div class=""title"">" & dataSheet.Range("A" & row) & "</div>") 'Set date newText = Replace(newText, "<div class=""date""></div>", "<div class=""date"">" & dataSheet.Range("B" & row) & "</div>") 'Set content newText = Replace(newText, "<div class=""content""></div>", "<div class=""content"">" & dataSheet.Range("C" & row) & "</div>") 'Create new HTML file and open Open newFile For Output As #1 'Write file content Print #1, newText 'Close new file Close Next row Else Call MsgBox("Template HTML file is not exist.", vbExclamation, "Exporting HTML") End If End Sub 

我testing了以下数据:

  +----------+---------+--------------------------------------+ | A | B | C | +---+----------+---------+--------------------------------------+ | 1 | Title | Date | Content | +---+----------+---------+--------------------------------------+ | 2 | Sample1 |20150811 | Lorem ipsum dolor | | 3 | Sample2 |20150812 | Lorem ipsum dolor | | 4 | Sample3 |20150813 | Lorem ipsum dolor | +---+----------+---------+--------------------------------------+ 

我得到了三个输出Sample1.html,Sample2.html,Sample3.html在同一目录与Excel文件与所需的内容。