Ich habe ein Stück VBA-Code in Excel, Zellen wo HTML-Text geschrieben wird, nimmt HTML in IE, und fügt es als formatierten Text ohne HTML-Tags in der Zelle . Ich wählte den Code hier: HTML Text with tags to formatted text in an Excel cellNavigieren auf leere Seite im IE mit Excel
Im Gegensatz zu dieser Frage, die ich verknüpfte, muss ich dies für eine Menge von Zellen tun, also möchte ich ein wenig beschleunigen. Da CreateObject("InternetExplorer.Application")
eine lange Zeit dauert, um zu verarbeiten, versuche ich, das gleiche Objekt mehrmals zu verwenden, aber es schlägt auf der Linie .Navigate "about:blank"
das zweite Mal, dass es dazu kommt. Hier
ist der Code:
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
Was ich brauche
Ich würde eine von zwei Dinge mögen. Entweder finde ich einen Weg, um wieder zu einer leeren Seite zu gelangen, damit ich das Makro ein zweites Mal ausführen kann, ohne das Objekt zurücksetzen zu müssen ODER einen besseren Weg zum Formatieren von HTML-Text in Excel zu finden (da dies alles ist, was dieser Makro macht).
Ihre Antwort war gut, aber ich würde immer noch sagen, dass es nicht gut funktioniert überhaupt in einer Schleife. Es wirft intermittierende Fehler und hat gemischte Ergebnisse, die von Ausführung zu Ausführung variieren. Der Ersteller des Makros (verlinkt) hatte gewarnt, dass die Methode anfällig für Laufzeitfehler war ... –
Nun, ich habe es mit einigen Dummy-Daten versucht und es hat gut funktioniert. Auch meine Antwort bezieht sich nur auf deine Frage. Wenn Sie einige Testdaten hinzufügen können, kann ich einen Blick darauf werfen. – ManishChristian
Ich habe es geschafft, es richtig zu arbeiten, aber es dauert etwa 1/3 Sekunde pro Zelle, die konvertiert werden muss. Ihre Antwort ist großartig, nur die Ausführungsgeschwindigkeit ist schlecht. –