编辑HTML源文件



我们有。htm文件,我们想用Excel宏编辑。

这是我目前为止所做的,这是一个尝试打开文件,替换HTML正文中的一些占位符,然后将文件保存为HTML文件:

Sub SaveCustomerCountHTML()
Dim customerCountHTML As HTMLDocument
Dim customerCount As String
Dim customerPercentage As String
Dim strHTML As String

Set customerCountHTML = CreateObject("O:0.Department Documents6.Status Board UpdatesDaily SalesTemplatesCUSTOMER COUNT.htm")
strHTML = customerCountHTML.HTMLbody
customerCount = "55"
customerPercentage = "2"
strHTML = Replace(customerCountHTML.HTMLbody, "%CUSTOMERCOUNT%", customerCount)
strHTML = Replace(customerCountHTML.HTMLbody, "%CUSTOMERPERCENTAGE%",     customerPercentage)
customerCountHTML.SaveAs Filename:= _
"O:0.Department Documents6.Status Board UpdatesDaily     SalesTemplatesCUSTOMER COUNT2.htm", _
FileFormat:=xlHtml, _
CreateBackup:=False
End Sub

我们绝对不想在ie中打开文件——我们只想编辑主体中的占位符,然后在不知道它在做什么的情况下重新保存到另一个文件夹。

我收到一个错误消息"ActiveX组件不能创建对象"在"设置customerCountHTML"行。我们也得到了一个"对象不支持这个属性或方法"的错误对于HTMLBody行,即使我们在我们的引用中包含了微软的HTML对象库。

同样,目的/尝试是简单地将HTML文件作为对象打开,替换该文件中的文本,然后保存该文件。所有这些都不需要看到任何打开或关闭。网上的大多数答案都以某种方式使用了ie或Outlook,我们只是想编辑文件。

正如@共产国际所建议的,HTML文件只不过是文本文件。您可以打开它们并将它们作为文本文件进行处理,也可以将它们保存为文本文件,但要使用.htm/html扩展名。

然而,使用文本文件并不能给你任何上下文信息,所以你不能很容易地区分table标签,在css或javascript或属性中使用table,或在实际的内容

如果你知道你想要替换的确切文本是唯一的,并且可靠地发现没有任何误报,那么替换文本就足够了。但是,如果您需要能够找到并替换HTML中可能有歧义的特定部分,那么就有必要确保该文件符合XHTML,并使用MSXML类型库打开该文件。然后,您可以将该文件作为XML文档使用,其中包括节点树和用于查找节点的所有MSXML特性。

最新更新