【发布时间】:2016-11-08 21:00:00
【问题描述】:
我在 Excel 中有一段 VBA 代码,它获取写入纯 HTML 文本的单元格,将该 HTML 带到 IE,然后将其粘贴回单元格中没有 HTML 标记的格式化文本。我在这里选择了代码:HTML Text with tags to formatted text in an Excel cell
与我链接的那个问题相反,我必须为很多单元格执行此操作,所以我想加快一点速度。由于CreateObject("InternetExplorer.Application") 需要很长时间来处理,所以我尝试多次使用同一个对象,但第二次遇到.Navigate "about:blank" 时它就失败了。
代码如下:
Sub ConvertHTMLrecu()
Dim Ie As Object
Dim rng As Range, rng2 As Range
Dim i As Integer
Dim iChr As Integer
i = 1
Set Ie = CreateObject("InternetExplorer.Application")
For i = 1 To 40
Set rng = Feuil3.Range("A" & i)
Set rng2 = Feuil3.Range("C" & i)
With Ie
.Visible = False
.Navigate "about:blank"
.Document.body.InnerHTML = rng.Value
.ExecWB 17, 0
.ExecWB 12, 2
ActiveSheet.Paste Destination:=rng2
.Quit
End With
Next i
End Sub
我需要什么
我想要两件事中的一件。要么找到再次导航到空白页面的方法,以便我可以再次运行宏而无需重置对象,要么找到更好的方法在 Excel 中格式化 HTML 文本(因为这就是这个宏所做的一切)。
【问题讨论】:
标签: vba excel internet-explorer