У меня есть тысячи HTML-файлов ...
У вас есть эти файлы под рукой, или они в сети?
... и нужно сохранить каждый из них как txt ...
Любой текстовый редактор должен иметь возможность сохранять данные внутри (т.е. зачем использовать FireFox), и я думаю, что прямое переименование .htm или .html в .txt. будет работать (по крайней мере, в любой системе Windows). Или вы имеете в виду: сохранить только отображаемый текст HTML-файла?
РЕДАКТИРОВАТЬ:
Во-первых, начните с этой ссылки , в которой есть хорошее объяснение того, как начать работу с shdocvw , что вам потребуется для этого.
Как только вы настроите ссылку, используйте функции
Function GetNewIE() As SHDocVw.InternetExplorer
и
Function LoadWebPage(i_IE As SHDocVw.InternetExplorer, i_URL As String) As Boolean
по ссылке (просто скопируйте в свой проект, как описано в ссылке), чтобы загрузить ваши отдельные html-файлы, используя цикл для прохождения каждого файла. (Excel подойдет для этого, потому что вы можете поместить свой список файлов в ячейки и циклически просматривать каждую ячейку для извлечения.) Я никогда не делал что-то подобное с таким количеством файлов, поэтому я не могу гарантировать, что это сработает, к сожалению ...
Dim IE As SHDocVw.InternetExplorer
Dim lRow as Long 'Long in case you have a LOT of files
Dim iFNum As Integer
Dim sFilePath As String
Set IE = GetNewIE
For lRow = 1 To 5000 Step 1 ' Assuming you have 5,000 html files, so 5,000 rows with the paths to each
sFilePath = ActiveSheet.Range("A" & lRow).Value ' This should also include the filepath. i.e. "C:\dir\..."
If LoadWebPage(IE, sFilePath) Then
iFNum = FreeFile(lRow)
Open sFilePath & ".txt" For Output As iFNum
Write #iFNum, IE.Document.InnerText
Close #iFNum
End If
Next lRow