У меня есть простая программа VB.Net для сохранения веб-страниц в формате mht
В настоящее время я использую следующий образ:Как изменить код VB.Net для сохранения веб-страниц как mht автоматически?
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
WebBrowser1.Navigate("http://www.google.com")
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim SaveFileDialog1 As New SaveFileDialog()
SaveFileDialog1.Filter = "mht files (*.mht)|*.mht|All files (*.*)|*.*"
If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
fileNamePath = SaveFileDialog1.FileName
SavePage(WebBrowser1.Url.ToString, fileNamePath)
End If
End Sub
Private Sub SavePage(ByVal Url As String, ByVal FilePath As String)
Dim iMessage As CDO.Message = New CDO.Message
iMessage.CreateMHTMLBody(Url, CDO.CdoMHTMLFlags.cdoSuppressObjects, "", "")
Dim adodbstream As ADODB.Stream = New ADODB.Stream
adodbstream.Type = ADODB.StreamTypeEnum.adTypeText
adodbstream.Charset = "UTF-8"
adodbstream.Open()
iMessage.DataSource.SaveToObject(adodbstream, "_Stream")
adodbstream.SaveToFile(FilePath, ADODB.SaveOptionsEnum.adSaveCreateOverWrite)
End Sub
Моего код отлично работает, но сохранить процесс как нормальная сохранить страницу в браузер. Щелкните правой кнопкой мыши> Сохранить страницу как ... и выберите направление с именем для сохранения файла
Есть ли способ сохранить операцию, которая будет выполняться автоматически? без каких-либо всплывающих окон, просто дать программе направления и имя файла в коде
, например:
SavePage("http://google.com", "C:\google.mht")
этот код не работает, и у меня есть ошибка Write to file failed.
для следующего кода
adodbstream.SaveToFile(FilePath, ADODB.SaveOptionsEnum.adSaveCreateOverWrite)
да ... просто закомментируйте код, создающий диалоговое окно. Однако все страницы будут сохранены в том же месте. – Jeremy
если я удалю это, как насчет имени файла и пути? @Jeremy –
fileNamePath задается диалогом. просто скопируйте свою строку, как в примере того, как вы хотите вызвать эту функцию. – Jeremy