Попробуй сохранять страницу так:
Uses ..., ActiveX, MSHTML;
...
function WB_DocumentLoaded(WB: TWebbrowser): Boolean;
var
iDoc: IHtmlDocument2;
begin
Result := False;
if Assigned(WB) then
begin
if WB.Document <> nil then
begin
WB.ControlInterface.Document.QueryInterface(IHtmlD ocument2, iDoc);
Result := Assigned(iDoc);
end;
end;
end;
procedure WB_Save(WB: TWebbrowser);
var
Dispatch: IDispatch;
CommandTarget: IOleCommandTarget;
vaIn: OleVariant;
vaOut: OleVariant;
begin
if WB_DocumentLoaded(WB) then
if not (WB.Busy) then
begin
Dispatch := WB.Document;
Dispatch.QueryInterface(IOleCommandTarget, CommandTarget);
vaIn := '';
vaOut := '';
try
CommandTarget.Exec(PGUID(nil),
OLECMDID_SAVEAS,
OLECMDEXECOPT_DONTPROMPTUSER,
vaIn, vaOut);
except
{handle exceptions}
on E: Exception do
MessageDlg('ERROR: Unable to show Save As dialog. ' + #13 + E.ClassName
+ ': ' + E.Message + '.', mtError, [mbOk], 0);
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
WB_Save(WebBrowser1);
end;
|