0
我有多个word文档,所有格式都相同。现在我将所有这些内容作为HTML页面提供给内部帮助门户。我想创建一个宏,当运行时自动生成有效的HTML文件,我可以直接上传到Web服务器。我能够使用vba代码将所有内容都作为HTML代码呈现出来。但我坚持列表段落。我得到的所有列表项的<Li></Li>
标签,但我怎么能得到一个<ol>
或<ul>
标签surronding他们?Word 2 HTML VBA宏
样品文件可于here.
下面是我的VBA代码。
Sub ListParagraphs()
Dim p As Paragraph
For Each p In ActiveDocument.Paragraphs
If p.Style = ActiveDocument.Styles("Title") Then
Debug.Print "<h2>" & p.Range.Text & "</h2>"
End If
If p.Style = ActiveDocument.Styles("Heading 1") Then
Debug.Print "<h3>" & p.Range.Text & "</h3>"
End If
If p.Style = ActiveDocument.Styles("Heading 2") Then
Debug.Print "<h4>" & p.Range.Text & "</h4>"
End If
If p.Style = ActiveDocument.Styles("Normal") Then
Debug.Print "<p>" & p.Range.Text & "<p>"
End If
If p.Style = ActiveDocument.Styles(wdStyleListParagraph) Then
p.Range.Select
Selection.EndKey Unit:=wdLine
Debug.Print "<li>" & p.Range.Text & "</li>"
End If
Next p
End Sub
我得到的输出是:
<h2>Main Title of page
</h2>
<p>On the Insert tab, the galleries include items that are designed to coordinate with the overall look of your document. You can use these galleries to insert tables, headers, footers, lists, cover pages, and other document building blocks. When you create pictures, charts, or diagrams, they also coordinate with your current document look.
<p>
<h3>Sub topic heading – number 1
</h3>
<p>On the Insert tab, the galleries include items that are designed to coordinate with the overall look of your document. You can use these galleries to insert tables, headers, footers, lists, cover pages, and other document building blocks.
<p>
<li>Instruction number one. You can use these galleries to insert tables, headers, footers, lists.
</li>
<li>/
</li>
<li>Instruction number two. This is a small step.
</li>
<li>/
</li>
<li>More instructions go here.
</li>
<li>/
</li>
<h3>Subtopic heading - number 2
</h3>
<p>On the Insert tab, the galleries include items that are designed to coordinate with the overall look of your document. You can use these galleries to insert tables, headers, footers, lists, cover pages, and other document building blocks. When you create pictures, charts, or diagrams, they also coordinate with your current document look.
<p>
<h4>Sub sub-topic under number 2
</h4>
<p>On the Insert tab, the galleries include items that are designed to coordinate with the overall look of your document.
<p>
<li>Remember the following points.
</li>
<li>/
</li>
<li>More instructions.
</li>
<li>/
</li>
<h4>Second sub topic under number 2
</h4>
<li>Line one.
</li>
<li>/
</li>
<li>Line 2.
</li>
<li>/
</li>
<p>
<p>
<p>
<p>
<p>
<p>
顺便说一句我知道互联网上的word2HTML转换网站,也做了我对这个问题的研究。我只是想要一个vba解决方案。 –
您应该记录添加的最后一个元素。当创建一个'li'时,检查这个变量。如果它不是'li''你知道'li'是它们中的第一个,你应该先添加一个'ol'或'ul'。同样,当您创建其他元素类型时,再次检查最后一个元素。如果最后一个元素是'li',那么你已经完成了一个块,并且需要关闭开头'ul'或'ol' – enhzflep