普通のHTMLテキストが書き込まれたセルを取り込み、そのHTMLをIEに取り込み、HTMLタグなしでセルに戻すVBAコードがExcelにあります。私はここでコードを選んだ:HTML Text with tags to formatted text in an Excel cellExcelでIEの空白ページに移動する
私はリンクされているその質問とは対照的に、私は多くの細胞のためにこれを行う必要があるので、少しスピードアップしたい。 CreateObject("InternetExplorer.Application")
は処理に時間がかかりますので、同じオブジェクトを何回か使用しようとしていますが、2回目になると.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
私は、私は2つのうちのいずれかを希望
が必要なもの:ここで
はコードです。いずれかもう一度空白のページに移動する方法を見つけるので、オブジェクトをリセットせずにマクロをもう一度実行するか、ExcelでHTMLテキストの書式を設定するより良い方法を見つけます(このマクロはすべて実行しています)。
あなたの答えは良かったが、私はまだそれがうまく動作しないことを言いたいです全くループしている。断続的なエラーが発生し、実行ごとに異なる結果が混在します。マクロの作成者(リンクされた)は、このメソッドがランタイムエラーを起こしやすいと警告していました... –
まあ、私はいくつかのダミーデータを試して、うまくいきました。また、私の答えは純粋にあなたの質問に関連しています。いくつかのテストデータを追加できたら、私は一見することができます。 – ManishChristian
私は正常に動作するように管理しましたが、変換する必要があるセルあたり約1/3秒かかっています。あなたの答えは素晴らしいです、それは悪い実行速度です。 –