Salvando páginas HTML como MHTML

 

Como faço para salvar o conteúdo de um arquivo HTML para MHTML?

 

function SaveToMHT(const AUrl, AFileName: string; AShowErrorMessage: Boolean = False): Boolean;

var

  oMSG, oConfig: OleVariant;

  sFileName: string;

  Retvar: Boolean;

begin

  sFileName := ChangeFileExt(AFileName, '.mht');

  DeleteFile(PAnsiChar(sFileName));  

  try

    oConfig := CreateOleObject('CDO.Configuration');

    oMSG := CreateOleObject('CDO.Message');

    oMSG.Configuration := oConfig;

    oMSG.CreateMHTMLBody(AUrl);

    oMSG.GetStream.SaveToFile(sFileName);

    Retvar := True;

  except

    on E: Exception do

    begin

      if AShowErrorMessage then

        MessageDlg(E.Message, mtError, [mbOK], 0);

      Retvar := False;

    end;

  end;  

  oMSG := VarNull;

  oConfig := VarNull;  

  Result := Retvar;

end;